[英]Java Sun/Oracle xerces parser bug?
我在帶有Eclipse luna的JDK 1.8 rt.jar中使用com.sun.org.apache.xerces解析器。 解析具有屬性和CDATA節的XML文檔,其中的屬性和CDATA節包含相同的字符串,該字符串包含漢字,如下所示:
<tns:metaData tns:name="𪂂 - 𠮟 - 𪂂𠮟">
<tns:metaValue><![CDATA[𪂂 - 𠮟 - 𪂂𠮟]]></tns:metaValue>
</tns:metaData>
解析后,屬性字符串如下所示:
𪂂 - 𪂂𠮟 - 𪂂𠮟𪂂𪂂𠮟𪂂𠮟
即,某些字符(或字符對)是重復的,但是CDATA中的文本看起來不錯:
𪂂 - 𠮟 - 𪂂𠮟
有沒有人遇到過類似的問題? 任何幫助,將不勝感激。
我猜答案是“是的,這是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"
干杯,鮑勃
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.