Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Saxparser未解析HTML数字字符引用。显示问号_Java_Xml Parsing_Saxparser - Fatal编程技术网

Java Saxparser未解析HTML数字字符引用。显示问号

Java Saxparser未解析HTML数字字符引用。显示问号,java,xml-parsing,saxparser,Java,Xml Parsing,Saxparser,我试图解析一个xml,它包含-和’个数字字符引用。在解析时,它给我的输出是“?”。不仅是这两个问题,XMl中的任何HTML/XMl数字字符引用都会造成这个问题。saxparser只接受预定义的实体 我使用defaulthandler saxparser。system out in character方法为数字字符引用显示了一个问号 我在谷歌上做了很多搜索,在我看到的任何地方,数字字符引用的使用都不会产生任何问题 有什么帮助吗?System.outin character方法为数字字符引

我试图解析一个xml,它包含-和’个数字字符引用。在解析时,它给我的输出是“?”。不仅是这两个问题,XMl中的任何HTML/XMl数字字符引用都会造成这个问题。saxparser只接受预定义的实体

我使用defaulthandler saxparser。system out in character方法为数字字符引用显示了一个问号

我在谷歌上做了很多搜索,在我看到的任何地方,数字字符引用的使用都不会产生任何问题


有什么帮助吗?

System.out
in character方法为数字字符引用显示一个问号

这听起来像是输出/控制台的字符编码问题。 以下内容适用于JSE7

公共静态void main(字符串[]args)引发异常{ SAXParser解析器= SAXParserFactory.newInstance().newSAXParser()

使用XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<Test>
Hello World&#8217;
</Test>

世界你好’;
输出:Hello World's


您是否尝试使用调试器查看输入字符数组?

char[]ch有两个值。一个是?另一个是^@它看起来仍然像是一个编码问题。字符数组的“实”值是什么?您可以使用类似于for(int idx=0;idxmy sysout语句System.out.println(“ch===”+String.format(“%h%c”,ch[start+i],ch[start+i]);输出:ch=2014?ch==0^@8212=0x2014是“-”;8217=0x2019是“.”;0是一个不可打印的字符,通常标记字符串的结尾。0和表示形式为^@看起来非常奇怪。您可以发布代码和XML文件吗。相同的代码在我的本地工作区中工作正常,而不是在我们的linux批处理服务器中
<?xml version="1.0" encoding="UTF-8"?>
<Test>
Hello World&#8217;
</Test>