我正在尝试解析一个包含 - 和 ’ 数字字符引用的 xml。在解析它给我输出为“?”。不仅是这两个,xml 中的任何 HTML/XML 数字字符引用都会产生此问题。saxparser 只接受预定义的实体
我使用默认处理程序 saxparser。system out in character 方法向我显示数字字符引用的问号。
我做了很多谷歌搜索,到处我看到数字字符引用的使用不应该产生任何问题。
有什么帮助吗?
我正在尝试解析一个包含 - 和 ’ 数字字符引用的 xml。在解析它给我输出为“?”。不仅是这两个,xml 中的任何 HTML/XML 数字字符引用都会产生此问题。saxparser 只接受预定义的实体
我使用默认处理程序 saxparser。system out in character 方法向我显示数字字符引用的问号。
我做了很多谷歌搜索,到处我看到数字字符引用的使用不应该产生任何问题。
有什么帮助吗?
System.out
in character 方法向我显示数字字符引用的问号。
这听起来像是您的输出/控制台的字符编码问题。以下适用于 JSE 7
public static void main(String[] args) throws Exception{ 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'</p>
您是否尝试过使用调试器查看传入的字符数组?