[英]Saxparser not parsing HTML numeric character reference. question mark displayed
我正在嘗試解析包含—和&#8217數字字符引用的xml。 解析后,輸出為“?”。 不僅是這兩個,xml中的任何HTML / XMl數字字符引用都會造成此問題。 只有預定義的實體被saxparser接受
我使用defaulthandler saxparser。 系統以字符方式顯示給我一個數字字符引用的問號。
我做了很多谷歌搜索,到處都看到使用數字字符引用不會造成任何問題。
有什么幫助嗎?
System.out
字符方法向我顯示了數字字符引用的問號。
這聽起來像是您的輸出/控制台的字符編碼問題。 以下適用於JSE 7
公共靜態void main(String [] args)引發異常{SAXParser parser = SAXParserFactory.newInstance()。newSAXParser();
XMLReader reader = parser.getXMLReader();
reader.setContentHandler(new ContentHandler() {
// other methods omitted
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
System.out.println(new String(ch, start, length));
}
});
FileReader fReader = new FileReader("/tmp/HelloWorld.xml");
reader.parse(new InputSource(fReader));
fReader.close();
}
使用XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<Test>
Hello World’
</Test>
輸出:Hello World'
您是否嘗試過使用調試器查看傳入的字符數組?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.