|
XDTO. Вывод элемента | ☑ | ||
---|---|---|---|---|
0
Bot002
14.02.18
✎
15:38
|
Здравствуйте. Пытаюсь разобраться с XDTО.
Понял как получить и вывести "xs:complexType". А как быть с "xs:element"??? Нужно вывести "Файл", в нём "СвУчДокОбор" и "Документ". А в "Документе" уже всё остальное. (см. вложения) https://cdn1.savepice.ru/uploads/2018/2/14/614edcc3e98b4c2d9386b51033c22a4b-full.png https://cdn1.savepice.ru/uploads/2018/2/14/bdfdfcb690d1aef2635b0d8c7b43442b-full.png Подкажите, пожалуйста, как это можно сделать. &НаСервере Процедура Команда1НаСервере() ХХХ = РеквизитФормыВЗначение("Объект"); ИмяСхемы = КаталогВременныхФайлов() + "scheme_ordersp2.xsd"; Мак = ХХХ.ПолучитьМакет("Схема2"); Мак.Записать(ИмяСхемы); ФайлыXSD = Новый Массив(); ФайлыXSD.Добавить(ИмяСхемы); Фабрика = СоздатьФабрикуXDTO(ФайлыXSD); //ТипФайл = Фабрика.Тип("http://www.sample-package.org", "Файл"); //так не работает АдресТип = Фабрика.Тип("http://www.sample-package.org", "АдресТип"); Адр = Фабрика.Создать(АдресТип); Адр.АдрИнф = "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С текстовую строку / ХМЛ-файлик, у тебя на выходе ОбъектХДТО без какого-либо намека на его "имя". Это и есть корневой тэг. А вот внутри этого объекта уже свойства с конкретными именами, описанные в схеме. Но само имя корневого элемента в получаемом "главном" ОбъектеХДТО никак не фигурирует, пофиг какое оно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |