Чтение XML используя ФабрикуXDTO
☑
0
korstin
16.01.16
✎
18:13
Изучаю работу с XML по статье
Есть xml документ такого вида
<Корень>
<ТестовыеЗаписи>
<ТестоваяЗапись>
<Код></Код>
<Наименование></Наименование>
<Описание></Описание>
</ТестоваяЗапись>
<ТестоваяЗапись>
<Код></Код>
<Наименование></Наименование>
<Описание></Описание>
</ТестоваяЗапись>
</ТестовыеЗаписи>
</Корень>
Пробую сделать как в статье
ЧтениеХмл = Новый ЧтениеТекста(Объект.ИмяФайла, КодировкаТекста.UTF8);
СодержимоеХмл = ЧтениеХмл.Прочитать();
СодержимоеХмл = СтрЗаменить(СодержимоеХмл, "<Корень", "<Корень xmlns=""; ");
ЧтениеХмл = Новый ЧтениеXML;
ЧтениеХмл.УстановитьСтроку(СодержимоеХмл);
ТипКорень = ФабрикаXDTO.Тип(";, "Корень");
КореньХдто = ФабрикаXDTO.ПрочитатьXML(ЧтениеХмл, ТипКорень);
Для Каждого Строка Из КореньХдто.ТестовыеЗаписи Цикл
Сообщить("Есть строка");
КонецЦикла;
Но получаю ошибку "Итератор для значения не определен". Где я ошибся?
1
GenV
16.01.16
✎
18:33
(0) Это "КореньХдто.ТестовыеЗаписи" в отладчике проверь
2
korstin
16.01.16
✎
18:38
(1) ОбъектXDTO
3
vicof
16.01.16
✎
18:39
ТипТестоваяЗапись = ФабрикаXDTO.Тип(";;, "ТестоваяЗапись");
4
korstin
16.01.16
✎
18:43
(3) Простите, я не понял
5
vicof
16.01.16
✎
18:48
(4) У объекта XDTO нет записей. Тебе нужно получить свойство, которое эти записи хранит.
6
GenV
16.01.16
✎
19:00
(2) Тут СписокXDTO будет только, если объектов несколько (если это должна быть коллекция по твоей фабрике), иначе будет ОбъектXDTO. А его в цикле не обойдешь.
ЗЫ В статье же про это написали ...
7
korstin
16.01.16
✎
19:03
(6) Это описывали в другом методе
8
korstin
17.01.16
✎
06:24
(5) (6) Спасибо, все получилось
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс