java – 带&auml的XML文件;

前端之家收集整理的这篇文章主要介绍了java – 带&auml的XML文件;前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个大致如下所示的 XML文件
<customer>
    <name>M&uuml;ller</name>
</customer>

我使用以下代码解析文件

File xmlFile = new File("file.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile)

并得到实体& uuml的错误;被引用但未声明.我想要的是正在读取条目但不以任何方式解析,我想获得文件中写入的值.

我怎么做?

解决方法

我尝试过设置:
dbFactory.setExpandEntityReferences(false);

但这不起作用.

如果你不能修改你的xml内容(使用UTF-8,xml可以包含你的umlaut),你可以添加一个DTD:

<!DOCTYPE definition [
<!ENTITY uuml "&#xfc;">
]>

如果无法修改xml文件,请加载xml内容添加DTD:

String dtd = "<!DOCTYPE definition [\n<!ENTITY uuml '&#xfc;'>\n]>\n",contents = <load xmlFile>;
Reader reader = new StringReader(dtd + contents);
InputSource src = new InputSource(reader);
Document doc = dBuilder.parse(src);

猜你在找的Java相关文章