簡體   English   中英

Java Sun / Oracle xerces解析器錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM