XML.Duplicate
Revision as of 07:20, 28 June 2021 by 1>Admin (→Примеры)
Duplicate (Копирование объекта) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция используется совместно с объектом ветки XML и возвращает новый объект, позиционированный на ту же самую ветку, что и исходный.
Синтаксис
XML.Duplicate():<Объект, указывающий на ту же ветку, что и текущий (XMLBRANCH)>
Возвращаемое значение
Возвращает объект ветки XML.
Примеры
//Рекурсивная функция вывода и обхода, выводятся только ветки без подчиненных веток Function ВывестиДеревоФайла(аВетка) //Сохраним для второго цикла бВетка:=?(аВетка=0,0,аВетка.Duplicate()); //Если следующей ветки нет, переменная будет равна нулю While аВетка<>0 Do If аВетка.Count()=0 Then //Вывод имени ветки, значения и полного пути ветки Message(аВетка.FullName+?(аВетка.Value<>""," ---> """+аВетка.Value+"""")+", Путь: "+аВетка.Path); EndIf; аВетка:=аВетка.Next(); EndDo; //Цикл с рекурсией While бВетка<>0 Do If бВетка.Count()>0 Then ВывестиДеревоФайла(аВетка.FirstChild()); EndIf; бВетка:=бВетка.Next(); EndDo; EndFunction аОб:=XML.create(); Стр:=аОб.LoadFromFile("c:\file.xml",65001); If IsEmpty(Стр) Then //Вызов рекурсивного вывода дерева загруженного файла XML ВывестиДеревоФайла(аОб.FirstChild()); Else Message("Найдены ошибки при загрузке файла:"+_NEWLINE+Стр); EndIf;