谁能告诉我如何解决以下XML异常?
Character reference &#x1F is an invalid XML character
我有一个字符的XML文件,当我试图解析这个XML文件时,我得到了这个异常。有办法解决这个问题吗?
我的代码部分是这样的…
File f = new File("sample.xml");
dom = db.parse(f);
当我调用函数parse()
时,我得到异常。我还尝试了UTF8编码,并得到了相同的异常。
任何帮助都非常感谢。
提前谢谢你!!
正如Michael Kay所评论的:XML 1.1中比XML 1.0中有更多的有效字符。如果XML有声明版本1.0的序言,那么从
更改序言可能就足够了。<?xml version="1.0" >
<?xml version="1.1" >
如果仍然有无效字符,您必须决定如何处理它们。
您可以创建一个类来扩展FilterReader以跳过无效的XML字符。
XML文件无效,解析器会这样告诉您。控制字符十进制31,十六进制0x1F,不能出现在XML源。你需要看一下文件,看看发生了什么
下面是一个有效字符实体列表。也许从你的xml的上下文中你可以决定它应该是什么:
http://www.i18nguy.com/markup/ncrs.html