System.out
in character メソッドは、数字参照の疑問符を表示します。
これは、出力/コンソールの文字エンコードの問題のようです。以下はJSE 7で動作します
public static void main(String[] args) throws Exception{ SAXParser パーサー = 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'</p>
デバッガーを使用して着信文字配列を確認しようとしましたか?