Интерпретация вывода XML
Вам не нужно знать подробности о форматировании или создании XML-документа. Предоставьте это автоматизированным XML-функциям в ABL. Однако необходимо знать базовую структуру XML-файла, чтобы можно было читать и интерпретировать выходные данные XML из метода WRITE-XML. В этой части мы рассмотрим базовые элементы XML на основе сформированного методом WRITE-XML примера XML-файла.
Если вы уже знакомы с форматом XML и умеете читать XML-файлы, то вы можете пропустить эту часть.
XML-документ представляет собой древовидную структуру. XML-документ имеет один корневой элемент, от которого происходят все остальные элементы документа. Эти элементы называются узлами. Пример XML ниже идентифицирует корневой элемент, из которого можно сделать вывод, что этот XML-файл содержит данные из набора данных dsOrderOrderLine.
<dsOrderOrderLine xmlns:xsi=:http://www.w3.org/2001/XMLSchema-instance">
Элемент – это часть документа, которая начинается «начальным тегом» и заканчивается «конечным тегом». Строка в этих тегах – это имя элемента, которое должно совпадать для обоих тегов. Данные – это все, что находится между начальным и конечным тегами.
В приведённом ниже примере показана запись из таблицы Order. Запись начинается с тега <ttOrder> и заканчивается тегом </ttOrder>. Между начальным и конечным тегами находятся данные, состоящие из таких элементов, как OrderNum и ShipDate, со значениями полей между их тегами.
<ttOrder> <OrderNum>21</OrderNum> <OrderDate>1998-02-08</OrderDate> <SchipDate>1998-02-13</SchipDate> <PromiseDate>1998-02-13</PromiseDate> <OrderTotal>688.37</OrderTotal> </ttOrder>
Элемент может включать в себя другие элементы. Эта вложенность является важной особенностью, которая позволяет документу иметь иерархию, которая может показывать отношения между временными таблицами в наборе данных.
Например, вывод XML ниже описывает номер заказа 21 вместе с двумя строками заказа с номерами 1 и 2. Обратите внимание, что конечный тег для ttOrder появляется только после конечного тега для последней строки заказа с номером 21.
<ttOrder> <OrderNum>21</OrderNum> <OrderDate>1998-02-08</OrderDate> <SchipDate>1998-02-13</SchipDate> <PromiseDate>1998-02-13</PromiseDate> <OrderTotal>688.37</OrderTotal> <ttOrderLine> <OrderNum>21</OrderNum> <LineNum>1</LineNum> <ItemNum>43</ItemNum> <Price>13.97</Price> <Qty>38</Qty> <Discount>10</Discount> <ExtendedPrice>477.77</ExtendedPrice> </ttOrderLine> <ttOrderLine> <OrderNum>21</OrderNum> <LineNum>2</LineNum> <ItemNum>9</ItemNum> <Price>18.0</Price> <Qty>13</Qty> <Discount>10</Discount> <ExtendedPrice>210.6</ExtendedPrice> </ttOrderLine> </ttOrder>