26.09.2013, 16:33 | #1 |
Участник
|
Byte order mark в XML Аксапты
Добрый день!
Есть такой вопрос. При обработке файла XML стороннего приложения в кодировке UTF-8 присутсвует модификатор Byte order mark(BOM), При обработке файла встроенными классами (XMLDocument) получаю следующую ошибку: "Недопустимые данные на корневом уровне. Строка 1, позиция 1." Имеются ли какие-либо встроенные решения для работы с файлами UTF-8 с данным модификатором? DAX 2009. Спасибо! |
|
26.09.2013, 16:57 | #2 |
Участник
|
2009-й под рукой нет. Попробовал в 2012 загрузить файл с BOM так:
XMLDocument doc = SysImportExportHelper::importXMLFromFile(<filename>) Все нормально, не ругается. |
|
26.09.2013, 17:32 | #3 |
Участник
|
Цитата:
Прикрепляю файл XML для тестов. Удалите txt в расширении, так как xml-файлы не атачатся. |
|
26.09.2013, 17:43 | #4 |
Участник
|
Этот файл некорректный, до декларации XML присоветует символ, но это не BOM
|
|
26.09.2013, 17:48 | #5 |
Участник
|
Цитата:
Также при сохранении данного файла в кодировке AnsII в первой строке первым символом стоял знак вопроса. |
|
26.09.2013, 17:59 | #6 |
Участник
|
Именно, в Notepad++ с помощью плагина HEX-Editor гляньте, у вас там два ВОМ а подряд идет ef bb bf ef bb bf, а должно быть только ef bb bf
|
|
|
За это сообщение автора поблагодарили: gl00mie (2), Cardagant (1). |
26.09.2013, 23:33 | #7 |
Участник
|
Благодарю за Ваши ответы!
|
|
02.10.2013, 15:16 | #8 |
Участник
|
Да, в файле получаю двойной BOM, считывая его через Аксапту. При этом получение данного файла другими средствами не вызывает описанной выше ошибки.
Не знаю пока в каком направлении продолжать поиск, поэтому хочу спросить: может ли Аксапта для некоторых своих нужд конвертировать XML-файлы, а именно их BOM'ы. И какова вероятность того, что корни проблемы именно в Аксапте? Спасибо! |
|
03.10.2013, 23:17 | #9 |
Участник
|
Аксапта здесь вообще не причем.
Строго говоря это не XML, а лишь напоминает его, IE его так же не откроет. Т.е. либо файл кривой, сделан какой то не сильно прямой программой, либо это сделано намеренно, но зачем не знаю, может это шифровка Юстасу Если договориться с автором этой сторонней программы возможности нет, подчищайте за ней сами, открывайте этот файл в Аксапте как текст, откидывайте лишние байты, а тем что останется инициализируйте XMLDocument. |
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
04.10.2013, 14:51 | #10 |
Участник
|
Цитата:
Сообщение от handy-comp
Аксапта здесь вообще не причем.
Строго говоря это не XML, а лишь напоминает его, IE его так же не откроет. Т.е. либо файл кривой, сделан какой то не сильно прямой программой, либо это сделано намеренно, но зачем не знаю, может это шифровка Юстасу Если договориться с автором этой сторонней программы возможности нет, подчищайте за ней сами, открывайте этот файл в Аксапте как текст, откидывайте лишние байты, а тем что останется инициализируйте XMLDocument. Автор утверждает, что ошибка у него не воспроизводится. Возможна ли данная ситуация из-за того, что скрипт автора, который формирует исходный XML-файл имеет кодировку UTF-16 или UTF-32 и по этой причине задваивает метку BOM? |
|
04.10.2013, 17:11 | #11 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
08.10.2013, 17:42 | #12 |
Участник
|
Цитата:
Сообщение от handy-comp
Нет, невозможно, автору вышлите ссылку на википедию про BOM http://ru.wikipedia.org/wiki/Byte_order_mark и скриншот окна HEX редактора где открыт этот файл.
|
|
Теги |
xml, кодировка |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|