PureBasic

InsertXMLArray()

Синтаксис

*Result = InsertXMLArray(*ParentNode , Array() [, *PreviousNode])

Описание


Вставляет указанный Массив() в качестве нового узла XML в данный родительский узел.

Параметры

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

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

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

Комментарии

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

Вставленный узел называется "array", а узлы содержащие элементы - "element". Если массив имеет несколько измерений, каждый узел элемента будет иметь атрибуты, указывающие координату элемента внутри массива, причем каждая координата называется "a", "b" и т.д. Ниже приведен пример создания XML.

Пример

; В этом примере создается следующее дерево XML:
;
; <array>
;  <element>red</element>
;  <element>green</element>
;  <element>blue</element>
; </array>
;
Dim Colors$(2)
Colors$(0) = "red"
Colors$(1) = "green"
Colors$(2) = "blue"

If CreateXML(0)
    InsertXMLArray(RootXMLNode(0), Colors$())
    FormatXML(0, #PB_XML_ReFormat)
    Debug ComposeXML(0)
EndIf

Пример

; В этом примере создается следующее дерево XML:
;
; <array>
;  <element a="0" b="0">0</element>
;  <element a="0" b="1">1</element>
;  <element a="1" b="0">10</element>
;  <element a="1" b="1">11</element>
;  <element a="2" b="0">20</element>
;  <element a="2" b="1">21</element>
; </array>
;
Dim MultiArray(2, 1)
For a = 0 To 2
    For b = 0 To 1
        MultiArray(a, b) = a * 10 + b
    Next b
Next a

If CreateXML(0)
    InsertXMLArray(RootXMLNode(0), MultiArray())
    FormatXML(0, #PB_XML_ReFormat)
    Debug ComposeXML(0)
EndIf

См. также

ExtractXMLArray(), InsertXMLList(), InsertXMLMap(), InsertXMLStructure(),

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

Все

<- GetXMLStandalone() - Оглавление XML - InsertXMLList()->