有谁能告诉我如何解决以下XML异常?
Character reference &#x1F is an invalid XML character
我有一个带有字符& #x1F的XML文件,当我尝试解析这个XML文件时,我得到了这个例外。有什么方法可以解决这个问题吗?
我的代码部分是这样的......
File f = new File("sample.xml");
dom = db.parse(f);
我在调用函数parse()
时遇到异常。我也试过UTF8编码,并得到了同样的例外。
非常感谢任何帮助。
提前感谢你!!!
答案 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的上下文中你可以确定它应该是什么: