|
XDTO. Вывод элемента |
☑ |
0
Bot002
14.02.18
✎
15:38
|
Здравствуйте. Пытаюсь разобраться с XDTО.
Понял как получить и вывести "xs:complexType".
А как быть с "xs:element"???
Нужно вывести "Файл", в нём "СвУчДокОбор" и "Документ". А в "Документе" уже всё остальное. (см. вложения)
Подкажите, пожалуйста, как это можно сделать.
&НаСервере
Процедура Команда1НаСервере()
ХХХ = РеквизитФормыВЗначение("Объект");
ИмяСхемы = КаталогВременныхФайлов() + "scheme_ordersp2.xsd";
Мак = ХХХ.ПолучитьМакет("Схема2");
Мак.Записать(ИмяСхемы);
ФайлыXSD = Новый Массив();
ФайлыXSD.Добавить(ИмяСхемы);
Фабрика = СоздатьФабрикуXDTO(ФайлыXSD);
//ТипФайл = Фабрика.Тип(";, "Файл"); //так не работает
АдресТип = Фабрика.Тип(";, "АдресТип");
Адр = Фабрика.Создать(АдресТип);
Адр.АдрИнф = "123";
Адр.АдрРФ = "111";
Адр.КодГар = "1";
Запись = Новый ЗаписьXML();
Запись.ОткрытьФайл("C:\Tmp\ТестФабрикиXDTO.xml", "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Фабрика.ЗаписатьXML(Запись, Адр,,,,НазначениеТипаXML.Явное);
Запись.Закрыть();
КонецПроцедуры
|
|
1
Bot002
14.02.18
✎
17:25
|
3
|
|
2
Cyberhawk
14.02.18
✎
17:30
|
Что-то ты путаешь. У тебя есть XSD-схема. Кого и куда "вывести"?
|
|
3
Cyberhawk
14.02.18
✎
17:38
|
Типа "Файл" в твоей схеме нет. После записи в файл все, что в нем будет, и есть этот самый "Файл", походу
|
|
4
Bot002
15.02.18
✎
16:39
|
(3) Да, типа "Файл" в схеме нет. Есть элемент "Файл". Как его вывести используя схему?
|
|
5
Cyberhawk
15.02.18
✎
16:57
|
(4) Вручную ЗаписатьНачалоЭлемента со всеми нужными атрибутами (пространство имен, например) + ЗаписатьКонецЭлемента, ну а между этим уже через Фабрику / Сериализатор писать в этот же файл
|
|
6
Bot002
15.02.18
✎
17:19
|
(5) Это я умею) Я разобраться хотел - т.е. через фабрику ни как?
|
|
7
Cyberhawk
15.02.18
✎
17:21
|
(6) Фабрике ничего не известно о том, что корневой тэг в файле с данными должен называться как-то. Это вообще-то и без разницы.
|
|
8
Bot002
15.02.18
✎
17:23
|
(7) Спасибо.
|
|
9
Cyberhawk
15.02.18
✎
17:45
|
(8) Простой пример: ты когда фабрикой с использованием схемы читаешь в 1С текстовую строку / ХМЛ-файлик, у тебя на выходе ОбъектХДТО без какого-либо намека на его "имя". Это и есть корневой тэг. А вот внутри этого объекта уже свойства с конкретными именами, описанные в схеме. Но само имя корневого элемента в получаемом "главном" ОбъектеХДТО никак не фигурирует, пофиг какое оно.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший