PureBasic

InsertXMLStructure()

Синтаксис

Result = InsertXMLStructure(*ParentNode , *Buffer , Structure [, *PreviousNode])

Описание


Вставляет указанную память структуры в качестве нового узла XML в данный родительский узел.

Параметры

*ParentNode Узел, в который будет вставлен новый дочерний узел. Здесь для вставки нового узла в корень дерева можно использовать функцию RootXMLNode().
*Buffer Адрес структуры, которая будет вставлена в качестве узла в XML.
Structure Тип используемой структуры.
*PreviousNode (дополн.) Задаёт дочерний узел узла '*ParentNode', после которого должен быть вставлен новый узел. Если это значение равно 0 или не указано, новый узел вставляется как первый дочерний узел своего родителя. Если это значение равно -1, узел вставляется как последний дочерний узел своего родителя.

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

Возвращает указатель на новый узел XML, если он был успешно создан, если же узел в это место вставить не удалось, возвратится ноль.

Комментарии

Правила указанные в CreateXMLNode(), которые определяют, где новый узел может быть вставлен, также применяются к этой функции.

Вставленный узел получает название от имени структуры. Каждый элемент структуры добавляется как подузел в узле структуры. Любой из символов '*' или '$' отделяется от имени элемента структуры. Если элемент структуры содержит массив, связный список, хеш-карту или структуру, то их узлы добавляются рекурсивно. Ниже приведен пример создания XML.

Пример

; В этом примере создается следующее дерево XML:
;
; <Person>
;  <имя>John Smith</Name>
;  <Age>42</Age>
;  <Books>
;    <element>Investing For Dummies</element>
;    <element>A Little Bit of Everything For Dummies</element>
;  </Books>
; </Person>
;
Structure Person
    Name$
    Age.l
    List Books.s()
EndStructure

Define P.Person

P\Name$ = "John Smith"
P\Age  = 42
AddElement(P\Books()): P\Books() = "Investing For Dummies"
AddElement(P\Books()): P\Books() = "A Little Bit of Everything For Dummies"

If CreateXML(0)
    InsertXMLStructure(RootXMLNode(0), @P, Person)
    FormatXML(0, #PB_XML_ReFormat)
    Debug ComposeXML(0)
EndIf

См. также

ExtractXMLStructure(), InsertXMLArray(), InsertXMLList(), InsertXMLMap()

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

Все

<- InsertXMLMap() - Оглавление XML - IsXML()->