PureBasic

ExtractXMLStructure()

Синтаксис

ExtractXMLStructure(*Node , *Buffer , Structure [, Flags])

Описание


Извлекает элементы из заданного узла XML в указанную память Структуры. Перед извлечением элементов Структура будет очищена.

Параметры

*Node Узел XML, содержащий данные структуры.
*Buffer Адрес памяти структуры для заполнения данными.
Structure Тип структуры, для заполнения данными.
Flags (дополн.) Если этот параметр установлен на #PB_XML_NoCase, тогда сравнение имен узлов XML и атрибутов выполняется без учета регистра. Если флаг не установлен (по умолчанию), то проверка идёт с учётом регистра.

Возвращаемое значение

Ничего.

Комментарии

Перед извлечением элементов узлов XML, содержимое памяти структуры будет очищено. Если у элемента структуры нет соответствующего узла в XML, он остается пустым.

Узлы XML должны иметь форму, описанную в функции InsertXMLStructure(). А именно, каждый узел должен получить имя от элемента структуры, но без символов '*' и '$'. Если узел для одного и того же элемента структуры существует в нескольких экземплярах, будет использоваться первый узел.

Пример

Structure Person
    Name$
    Age.l
EndStructure

Xml$ = "<Person><Name>John Smith</Name><Age>42</Age></Person>"

If ParseXML(0, Xml$) And XMLStatus(0) = #PB_XML_Success
    Define P.Person
    ExtractXMLStructure(MainXMLNode(0), @P, Person)

    Debug P\Name$
    Debug P\Age
Else
    Debug XMLError(0)
EndIf

См. также

InsertXMLStructure(), ExtractXMLArray(), ExtractXMLList(), ExtractXMLMap()

Поддерживаемые OS

Все

<- ExtractXMLMap() - Оглавление XML - FormatXML()->