|
Как считать xml с помощью XDTO, если в исходном файле не указан xmlns?
| ☑ |
0
Zhuravlik
15.12.14
✎
14:14
|
Здравствуйте. Догадываюсь, что нужно "дозаписать" в строку xml нужный xmlns, но работать именно как с строкой не хотелось бы (типа найти название атрибута, там вставить подстроку "xmlns=";). Да и может есть другие пути обхода такой проблемы, уверен не я один такой.
Т.е. суть в том что считываю файлик, который предоставил клиент, а секции "xmlns" в нем нету, соотв. "ФабрикаXDTO.ПрочитатьXML" выбрасывает исключение. Просить клиента туда добавить секцию - не вариант.
|
|
1
Fragster
гуру
15.12.14
✎
14:15
|
код, которым ты это делаешь, а также исключение мы должны угадать?
|
|
2
Zhuravlik
15.12.14
✎
14:19
|
Ды все шаблонное как-бы... Вот такой код:
ТипXDTO = ФабрикаXDTO.Тип(";, "Тип_Тест");
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаXML);
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипXDTO);
Вот такой файл:
<?xml version="1.0" encoding="windows-1251"?>
<Тип_Тест xmlns=";
usr = "Вася" >
<Line
col = "128279"
/>
</Тип_Тест>
Если убрать из второй строки "xmlns=";, то код вызовет исключение на "Объект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
|
|
|