![]() |
![]() |
![]() |
|
Сериализация метаданных в XML | ☑ | ||
---|---|---|---|---|
0
Benn
18.07.17
✎
12:03
|
Добрый день. Есть необходимость сериализовать объект в XML файл с последующим созданием из XMЛ БЕЗ описания схемы.
|
|||
1
DexterMorgan
18.07.17
✎
12:08
|
СериализаторXDTO (XDTOSerializer)
Свойства: Фабрика (Factory) Методы: XMLЗначение (XMLValue) XMLСтрока (XMLString) XMLТип (XMLType) XMLТипЗнч (XMLTypeOf) ВозможностьЧтенияXML (CanReadXML) ЗаписатьXDTO (WriteXDTO) ЗаписатьXML (WriteXML) ИзXMLТипа (FromXMLType) ПолучитьXMLТип (GetXMLType) ПрочитатьXDTO (ReadXDTO) ПрочитатьXML (ReadXML) Конструкторы: На основании XDTO Описание: Сериализатор значений платформы 1С:Предприятие 8 в XML на основе XDTO. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). См. также: |
|||
2
Benn
18.07.17
✎
12:09
|
Например при передачи в сериализатор ссылки на справочник номенклатуры в XML файле я получу теги всех своих реквизитов с данными в виде дерева.
|
|||
3
Рэйв
18.07.17
✎
12:09
|
//----------Сериализация
Функция XML(Данные) ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Данные); Возврат ЗаписьXML.Закрыть(); КонецФункции //------Десериализация Функция ДанныеИзXML(Стр) ЧтениеXML = Новый ЧтениеXML(); ЧтениеXML.УстановитьСтроку(Стр); Возврат СериализаторXDTO.ПрочитатьXML(ЧтениеXML); КонецФункции |
|||
4
Рэйв
18.07.17
✎
12:14
|
Еще можно так:
//------ // Выгрузить в файл xml. ЗаписьXML=Новый ЗаписьXML(); ЗаписьXML.ОткрытьФайл("c:\doc.xml"); ЗаписьXML.ЗаписатьНачалоЭлемента("Root"); // Получить объект по ссылке. ВыгружаемыйОбъект=Документ.ПолучитьОбъект(); // С помощью средств сериализации записать объект в файл. ЗаписатьXML(ЗаписьXML,ВыгружаемыйОбъект); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.Закрыть(); ЧтениеXML=Новый ЧтениеXML(); ЧтениеXML.ОткрытьФайл("c:\doc.xml"); // Текущим становится элемент Root. ЧтениеXML.Прочитать(); // Текущим становится элемент с документом. ЧтениеXML.Прочитать(); // Проверить сможет ли с данным значением "справиться" // система сериализации в данной базе. Если ВозможностьЧтенияXML(ЧтениеXML) Тогда // Получить ДокументОбъект.РеализацияТоваровУслуг ЗагружаемыйОбъект=ПрочитатьXML(ЧтениеXML); ЗагружаемыйОбъект.Записать(); КонецЕсли; ЧтениеXML.Закрыть(); (С)Габец |
|||
5
Benn
18.07.17
✎
12:21
|
(4) Все, спасибо. Ответ на мой вопрос был в "ПолучитьОбъект()". Я ссылку передавал в сериализатор - хмл записывался с описанием ссылки. При передачи объекта - полная структура объекта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |