Ошибка парсера Java Sun / Oracle xerces?

1

Я использую парсер com.sun.org.apache.xerces в JDK 1.8 rt.jar с eclipse luna. Разбор XML-документа с атрибутом и секцией CDATA, которые содержат одинаковые строки, состоящие из китайских символов, например:

<tns:metaData tns:name="? - ? - ??">
  <tns:metaValue><![CDATA[? - ? - ??]]></tns:metaValue>
</tns:metaData>

После синтаксического анализа строка атрибута выглядит так:

? - ?? - ???????

т.е. некоторые из символов (или пар символов) дублируются, но текст с CDATA выглядит хорошо:

? - ? - ??

Кто-нибудь сталкивается с подобной проблемой? Любая помощь будет оценена по достоинству.

Теги:
unicode
xerces

1 ответ

0
Лучший ответ

Я думаю, что ответ "да, это ошибка в версии xerces Sun/Oracle". Я просто попробовал это с последней версией от apache, и это работает!

Обратите внимание, что если вы собираетесь использовать переключатель командной строки -Djava.endorsed.dirs = "...", вам нужно будет добавить как xerces, так и xalan-бинарные файлы, потому что это требуется для eclipse. Для windoze это что-то вроде:

 -Djava.endorsed.dirs="C:\Program Files (x86)\Java\xerces-2_11_0"
 -Djava.endorsed.dirs="C:\Program Files (x86)\Java\xalan-j_2_7_2"

Привет, Боб

Ещё вопросы

Сообщество Overcoder
Наверх
Меню