XML.SubPath
SubPath (Позиционирование внутри текущего пути) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция используется совместно с объектом XML или объектом ветки XML и находит указанный путь для дочерних веток текущей. Путь записывается в виде последовательности наименований веток с возможным дополнительным номером, указывающим на индекс ветки среди веток текущего уровня с таким же наименованием, также принимается знак ".", позволяющая перейти на родительский уровень, относительно текущего: <Ветка1>{[<Индекс1>]}{.}{<Ветка2>...}
(к примеру ..<Setup><Options><Option>[2]
). Функция возвращает объект ветки, позиционированный на ветке в конце создаваемого пути, если путь существует, иначе возвращается пустое значение.
Синтаксис
XML.SubPath(<Путь XML относительный к текущему объекту (STRING)>):<Объект найденной ветки (XMLBRANCH)>
Аргументы
<Путь XML относительный к текущему объекту (STRING)>
- Аргумент задает путь для создания. Возможно использование индексов или специального знака ".".
Возвращаемое значение
Возвращает объект найденной ветки в конце указанного пути либо создает исключение, если путь не существует.
Примеры
aObject:=XML.create(); Стр:=aObject.LoadFromFile("c:\file.xml",65001); If not IsEmpty(Стр) Then Message("Найдены ошибки при загрузке файла:"+_NEWLINE+Стр); Exit; EndIf; //Позиционирование объекта ветки aNode:=aObject.Root; aNode.Path:="<data><keyword><value>[5]"; //Проход по всем вложенным тегам, вывод содержимного тега name. aNode2:=aNode.FirstChild(); While not IsEmpty(aNode2) Do Message("Документ "+aNode2.SubPath("<document><name>").Text); aNode2:=aNode2.Next(); EndDo;