XDTO, запись XML с указанием типа данных
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Добрый день
что-то вроде:
что-то вроде:
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайла, "UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("МоиДанные", "http://www.1c.ru/V8/1CV8DtUD/");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("core", "http://v8.1c.ru/data");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/8.1/data/enterprise/current-config");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xs", "http://www.w3.org/2001/XMLSchema");
ВыгрузкаДанныхXDTO(ЗаписьXML);
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();
Показать
(2)
(2)
(2)
Это всё встаёт в заголовок, а для элемента тип данных не указывается. Мне нужно было, чтобы тип данных указывался у каждого элемента при сохранении объектов xdto. Если сохранять в xml таблицу значений, то там всё указывается
(2)
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайла, "UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("МоиДанные", "http://www.1c.ru/V8/1CV8DtUD/");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("core", "http://v8.1c.ru/data");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/8.1/data/enterprise/current-config");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xs", "http://www.w3.org/2001/XMLSchema");
ВыгрузкаДанныхXDTO(ЗаписьXML);
ЗаписьXML.ЗаписатьКонецЭлемента();
ПоказатьЗаписьXML.ОткрытьФайл(ИмяФайла, "UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("МоиДанные", "http://www.1c.ru/V8/1CV8DtUD/");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("core", "http://v8.1c.ru/data");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/8.1/data/enterprise/current-config");
ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xs", "http://www.w3.org/2001/XMLSchema");
ВыгрузкаДанныхXDTO(ЗаписьXML);
ЗаписьXML.ЗаписатьКонецЭлемента();
(2)
Это всё встаёт в заголовок, а для элемента тип данных не указывается. Мне нужно было, чтобы тип данных указывался у каждого элемента при сохранении объектов xdto. Если сохранять в xml таблицу значений, то там всё указывается
(7) А так-то, конечно, не записываются. Точно-точно.
похоже, что xdto не записываются с типами данных
Надо просто понимать что ты делаешь.ТекстСхемы =
"<xs:schema xmlns:tns=""http://www.sample-package.org""
| xmlns:xs=""http://www.w3.org/2001/XMLSchema""
| targetNamespace=""http://www.sample-package.org""
| attributeFormDefault=""unqualified"" elementFormDefault=""qualified"">
|
| <xs:complexType name=""ТипОбъекта1"">
| <xs:sequence>
| <xs:element name=""file_name""/>
| <xs:element name=""description""/>
| <xs:element name=""file_content""/>
| </xs:sequence>
| </xs:complexType>
|
|</xs:schema>";
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(ТекстСхемы);
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Чтение);
ПостроительСхем = Новый ПостроительСхемXML;
Схема = ПостроительСхем.СоздатьСхемуXML(Документ.ЭлементДокумента);
НаборСхем = Новый НаборСхемXML;
НаборСхем.Добавить(Схема);
Фабрика = Новый ФабрикаXDTO(НаборСхем);
ТипОбъекта = Фабрика.Тип("http://www.sample-package.org", "ТипОбъекта1");
Объект = Фабрика.Создать(ТипОбъекта);
Объект.file_name = "тест101.txt";
Объект.description = "тест1";
Объект.file_content = ПолучитьДвоичныеДанныеИзBase64Строки("MTEyMjMzYWJjZGVm");
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
Фабрика.ЗаписатьXML(Запись, Объект, "Объект");
Результат = Запись.Закрыть();
Сообщить(Результат);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот