Difference between revisions of "XML.SubPath"
1>Admin |
m (1 revision imported) |
(No difference)
| |
Latest revision as of 12:15, 9 June 2025
| 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;