字符参考“?”是一个无效的XML字符

时间:2011-05-03 12:06:53

标签: xml

有谁能告诉我如何解决以下XML异常?

Character reference &#x1F is an invalid XML character

我有一个带有字符& #x1F的XML文件,当我尝试解析这个XML文件时,我得到了这个例外。有什么方法可以解决这个问题吗?

我的代码部分是这样的......

File f = new File("sample.xml");
dom = db.parse(f);

我在调用函数parse()时遇到异常。我也试过UTF8编码,并得到了同样的例外。

非常感谢任何帮助。

提前感谢你!!!

4 个答案:

答案 0 :(得分:7)

正如Michael Kay评论的那样:XML 1.1中的有效字符多于XML 1.0中的有效字符。如果XML有一个声明版本1.0的prolog,那么从

更改prolog可能就足够了
<?xml version="1.0" >

<?xml version="1.1" >

如果仍有无效字符,您必须决定如何处理它们。 Streamflyer将简化您的任务。

答案 1 :(得分:4)

您可以创建一个扩展FilterReader的类来跳过无效的XML字符。请参阅this link

答案 2 :(得分:2)

XML文件无效,解析器告诉您。控制字符十进制31,十六进制0x1F,不能出现在XML源代码中。您需要查看该文件,看看发生了什么。

答案 3 :(得分:1)

这是一个有效字符实体的列表。也许从xml的上下文中你可以确定它应该是什么:

http://www.i18nguy.com/markup/ncrs.html