Java Sun / Oracle xerces解析器错误?

时间:2015-03-03 23:28:13

标签: java eclipse oracle unicode xerces

我正在使用JDK 1.8 rt.jar中的com.sun.org.apache.xerces解析器和eclipse luna。使用包含相同字符串的属性和CDATA部分解析XML文档,该字符串由中文字符组成,如下所示:

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

解析后,属性字符串如下所示:

 -  - 

即,某些字符(或字符对)是重复的,但CDATA的文字看起来不错:

 -  - 

有没有人遇到过类似的问题?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我想答案是&#34;是的,它是Sun / Oracle版xerces中的一个错误。&#34;我只是尝试使用apache的最新版本,它可以工作!

注意,如果您要使用命令行-Djava.endorsed.dirs =&#34; ...&#34;切换,你需要添加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"

干杯, 鲍勃