|
Как сделать так, чтобы фабрика XDTO правильно определяла тип?
| ☑ |
0
Fragster
гуру
13.12.12
✎
17:43
|
Вот есть такой кусок:
Фабрика = СоздатьФабрикуXDTO(Схема);
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ИмяФайла);
Объект = Фабрика.ПрочитатьXML(Чтение, Фабрика.Тип("URI", "Report"));
Файл ранее получен с использованием той же схемы данных полностью аналогичным способом, но
Объект = Фабрика.ПрочитатьXML(Чтение); не определяет само тип, а хотелось бы. Может что-нибудь надо в схему добавить?
Схема получена из пакета XDTO, который содержит только определения типов. Пробовал добавить корневое свойство в файл - не помогло :(
|
|
1
Serginio1
13.12.12
✎
17:52
|
попробуй так
Имя=ЧтениеXML.Имя;
ОбъектXDTO=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ФабрикаXDTO.Тип(ЧтениеXML.URIПространстваИмен,Имя));
|
|
2
Serginio1
13.12.12
✎
17:54
|
ЧтениеXML=Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);
ЧтениеXML.ПерейтиКСодержимому();
Имя=ЧтениеXML.Имя;
ОбъектXDTO=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ФабрикаXDTO.Тип(ЧтениеXML.URIПространстваИмен,Имя));
|
|
3
Fragster
гуру
13.12.12
✎
18:43
|
не вышло
|
|
4
Serginio1
13.12.12
✎
18:45
|
А какой именно тип?
|
|
5
Serginio1
13.12.12
✎
18:46
|
Тьфу заменить ФабрикаXDTO на фабрика
ЧтениеXML=Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);
ЧтениеXML.ПерейтиКСодержимому();
Имя=ЧтениеXML.Имя;
ОбъектXDTO=Фабрика.ПрочитатьXML(ЧтениеXML,Фабрика.Тип(ЧтениеXML.URIПространстваИмен,Имя));
|
|
6
Fragster
гуру
13.12.12
✎
18:48
|
да не, это я тупой. отладчиком смотрел свойства ЧтениеXML после Фабрика.ПрочиатьXML. Естественно, в свойствах уже пусто было.
|
|
7
Fragster
гуру
13.12.12
✎
18:49
|
все получилось, спасибо!
|
|
8
Fragster
гуру
13.12.12
✎
18:53
|
может еще можно сделать так, чтобы реквизиты объекта XDTO при его создании заполнялись? Особенно интересует в случае сложной структуры - когда реквизиты сами являются объектами.
|
|