|
Как считать xml с помощью XDTO, если в исходном файле не указан xmlns? | ☑ | ||
|---|---|---|---|---|
|
0
Zhuravlik
15.12.14
✎
14:14
|
Здравствуйте. Догадываюсь, что нужно "дозаписать" в строку xml нужный xmlns, но работать именно как с строкой не хотелось бы (типа найти название атрибута, там вставить подстроку "xmlns="http://localhost/xdto""). Да и может есть другие пути обхода такой проблемы, уверен не я один такой.
Т.е. суть в том что считываю файлик, который предоставил клиент, а секции "xmlns" в нем нету, соотв. "ФабрикаXDTO.ПрочитатьXML" выбрасывает исключение. Просить клиента туда добавить секцию - не вариант. |
|||
|
1
Fragster
гуру
15.12.14
✎
14:15
|
код, которым ты это делаешь, а также исключение мы должны угадать?
|
|||
|
2
Zhuravlik
15.12.14
✎
14:19
|
Ды все шаблонное как-бы... Вот такой код:
ТипXDTO = ФабрикаXDTO.Тип("http://localhost/xdto", "Тип_Тест"); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(СтрокаXML); ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипXDTO); Вот такой файл: <?xml version="1.0" encoding="windows-1251"?> <Тип_Тест xmlns="http://localhost/xdto" usr = "Вася" > <Line col = "128279" /> </Тип_Тест> Если убрать из второй строки "xmlns="http://localhost/xdto"", то код вызовет исключение на "ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипXDTO);". Скажет "Структура объекта не соответствует типу". |
|||
|
3
Zhuravlik
15.12.14
✎
14:20
|
ух елы-палы, чего-то донавставляла миста. Ну вроде ясно все?..
|
|||
|
4
Armando
15.12.14
✎
14:22
|
>> Просить клиента туда добавить секцию - не вариант
Добавь сам |
|||
|
5
Zhuravlik
15.12.14
✎
14:22
|
(4) Как в строку?
|
|||
|
6
Maxus43
15.12.14
✎
14:23
|
без этой строки фабрика не прочитает, не поймёт что это оно. У тебя по сути xml без указания пространства имён, т.е. беспризорный такой
З.ы. перед чтением сам вставь в файл эту строку |
|||
|
7
Fragster
гуру
15.12.14
✎
14:37
|
сделай свой xsd, по нему - фабрику. Ну, или если XSD предоставлял тот, кто файлы делает - то с него и тряси.
|
|||
|
8
Zhuravlik
15.12.14
✎
14:50
|
Короче надо в исходный xml добавлять свой xmlns, работая с ним как с строкой. Никаких методов для указания пространства имен у объектов нету. Спасибо за участие)
|
|||
|
9
Гёдза
15.12.14
✎
14:52
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |