加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 带&auml的XML文件;

发布时间:2020-12-15 00:46:13 所属栏目:Java 来源:网络整理
导读:我有一个大致如下所示的 XML文件: customer nameMuuml;ller/name/customer 我使用以下代码解析文件: File xmlFile = new File("file.xml");DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();DocumentBuilder dBuilder = dbFactor
我有一个大致如下所示的 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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读