Friday, April 29, 2011

Загрузка объектов xml через XDTO

ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.Заголовок = "Выберите файл xml";
ДиалогОткрытияФайла.Фильтр = "Формат xml(*.xml)|*.xml";
ДиалогОткрытияФайла.ПроверятьСуществованиеФайла = Истина;
Если Не ДиалогОткрытияФайла.Выбрать() тогда
возврат;
КонецЕсли;
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ДиалогОткрытияФайла.ПолноеИмяФайла);
//прочитаем начало xml файла
Чтение.ПерейтиКСодержимому();

//прочитаем начало корневого элемента
Чтение.Прочитать();

//читаем содержимое пока текущим не станет конец корневого элемента, т.к. мы писали туда только целые элементы справочника,
//а сериализатор читает каждый из их полностью, то мы упремся именно в конец корневого
Пока Чтение.ТипУзла<>ТипУзлаXML.КонецЭлемента Цикл

//читаем очередной элемент справочника
Объект = СериализаторXDTO.ПрочитатьXML(Чтение);
Объект.ОбменДанными.Загрузка = Истина;
Объект.Записать();
//покажем что прочитали, осталось только записать объект
Сообщить(""+ТипЗнч(Объект)+" - "+Объект);
КонецЦикла;

Чтение.Закрыть();

No comments:

Post a Comment