RU/xmlNodeGetChildren

From Multi Theft Auto: Wiki
Revision as of 20:51, 23 September 2016 by Talidan (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Возвращает все аттрибуты выбранного XML узла.

Синтаксис

Эта функция возвращает всех потомков XML узла.

Синтаксис

table/xmlnode xmlNodeGetChildren ( xmlnode parent, [ int index ] )

Синтаксис ООП Помогите! Я не понимаю, что это!

Метод: xmlnode:getChildren(...)
Переменная: .children

Обязательные параметры

  • parent: XML узел из которого получаем потомков.

Не обязательные параметры

  • index: Если вы хотите получить одного потомка, введите его индекс(порядковый номер, счет от 0). Т.е. что-бы получить первого потомка, пишите 0, что-бы получить третьего потомка пишите 2, и т.д.

Возвращает

Если index не указан, возвращает таблицу со всеми потомками. Если index указан, возвращает соответствующего по счету потомка. Если узлов не найдено, возвращает пустую таблицу. В случае неправильного регистра, возвращает false.

Пример

Click to collapse [-]
Server

Предположим вы создали .xml файл со случайными приветственными сообщениями:

<messages>
    <message>Добро пожаловать на ДМ сервер, наслаждайтесь пребыванием здесь.</message>
    <message>Добро пожаловать. Будьте уверены вы получите бесплатную пиццу от Мэтта!</message>
    <message>Вечеринка на пляже ЛС, будьте там</message>
</messages>

Для того что-бы показать случайное сообщение из списка, входящим пользователям, используйте код:

addEventHandler("onResourceStart", getResourceRootElement(),
    function()
        local xml = xmlLoadFile("welcome.xml")             -- открываем XML файл
        local messageNodes = xmlNodeGetChildren(xml)       -- получаем всех потомков корневого узла(<messages>)
        g_WelcomeMessages = {}                             -- создаем новую глобальную переменную, для хранения сообщений в ней
        for i,node in ipairs(messageNodes) do              -- пробегаем все узлы сообщений
            g_WelcomeMessages[i] = xmlNodeGetValue(node)   -- получаем текст из узла
        end
        xmlUnloadFile(xml)                                 -- закрываем XML файл
    end
)

addEventHandler("onPlayerJoin", getRootElement(),
    function()
        local numMessages = #g_WelcomeMessages                        -- получаем количество сообщений
        local message = g_WelcomeMessages[math.random(numMessages)]   -- выбираем случайное сообщение
        outputChatBox(message, source, 0, 255, 0)                     -- выводит сообщение зашедшему игроки
    end
)

Смотрите также

Серверные функции

Клиентские функции

Общие функции

  • xmlCopyFile - копирует всё содержимое определённого узла в XML-документе в новый файл документа
  • xmlCreateChild - создаёт новый дочерний узел в узле XML
  • xmlCreateFile - создаёт новый XML-документ, который впоследствии можно сохранить в файл с помощью xmlSaveFile
ДО ВЕРСИИ 1.0.0 :
  • xmlCreateSubNode - создаёт подузел для указанного XML узла
  • xmlFindSubNode - возвращает именованный подузел определённого XML узла
  • xmlDestroyNode - удаляет узел XML из дерева узлов XML
  • xmlFindChild - возвращает именованный дочерний узел узла XML
  • xmlLoadFile - загружает XML-файл и возвращает узел, указав конкретный путь к файлу
  • xmlLoadString - создаёт XML узел из строкового ввода
  • xmlNodeGetAttribute - возвращает атрибут узла в файле конфигурации
  • xmlNodeGetAttributes - возвращает все аттрибуты выбранного XML узла
  • xmlNodeGetChildren - возвращает все дочерние элементы определенного XML узла или определенного дочернего узла
  • xmlNodeGetName - возвращает имя тега указанного XML узла
  • xmlNodeGetParent - возвращает родительский узел XML узла
  • xmlNodeGetValue - читает значения тегов в файлах XML
  • xmlNodeSetAttribute - редактирует атрибуты узла в файле конфигурации
  • xmlNodeSetName - задает имя тега указанного XML узла
  • xmlNodeSetValue - присваивает значения тегам в файлах XML
  • xmlSaveFile - сохраняет загруженный файл XML
  • xmlUnloadFile - выгружает XML файл из памяти