簡體   English   中英

Saxparser無法解析HTML數字字符引用。 顯示的問號

[英]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&#8217;
</Test>

輸出:Hello World'

您是否嘗試過使用調試器查看傳入的字符數組?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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