XML.Duplicate

From SunFlurry wiki
Jump to: navigation, search
  Duplicate (Копирование объекта)
Объект:Объект XML
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Визуальность:Нет

Функция используется совместно с объектом ветки 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;