Имя: Пароль:
1C
1C 7.7
v7: Чтение XML, цикл по дочерним элементам
0 casufi
 
25.04.12
12:58
Подскажите каким образом получив элемент XML пробежаться по его дочерним элементам ?
1 andrewks
 
25.04.12
13:14
childNodes()
2 casufi
 
25.04.12
15:41
Еще один вопрос, вот простейший пример

Процедура Сформировать()
 имяф="D:\\kotulskiy.xml";
 objDom=СоздатьОбъект("MSXML.DOMDocument");
 objDom.load(имяф);
 
 obj = objDom.selectNodes("//Элемент") ;
 Для i1 = 0 По obj.length - 1 Цикл
   obj1=obj.item(i1);
   Сообщить(obj1.getAttribute("тип"));
 КонецЦикла;

Он выбирает все элементы "Элемент", добавил условие - пустой атрибут имя

Процедура Сформировать()
 имяф="D:\\kotulskiy.xml";
 objDom=СоздатьОбъект("MSXML.DOMDocument");
 objDom.load(имяф);
 
 obj = objDom.selectNodes("//Элемент[contains(имя,"""")]") ;
 Для i1 = 0 По obj.length - 1 Цикл
   obj1=obj.item(i1);
   Сообщить(obj1.getAttribute("тип"));
 КонецЦикла;

КонецПроцедуры

В результате получаю ошибку -
obj = objDom.selectNodes("//Элемент[contains(имя,"""")]") ;
{D:\ХМЛ.ERT(7)}: msxml3.dll: Неизвестный метод.
КонецПроцедуры
3 casufi
 
25.04.12
15:56
Вопрос снят
Процедура Сформировать()
 имяф="D:\\file.xml";
 objDom=СоздатьОбъект("MSXML.DOMDocument");
 objDom.load(имяф);
 
 obj = objDom.selectNodes("//Элемент[@имя='']") ;
 Для i1 = 0 По obj.length - 1 Цикл
   obj1=obj.item(i1);
   Сообщить(obj1.getAttribute("тип"));
 КонецЦикла;

КонецПроцедуры
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.