|
Чтение 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) Спасибо, все получилось
|
|