【问题标题】:DOM parse xml file without converting entity referencesDOM 解析 xml 文件而不转换实体引用
【发布时间】:2012-01-18 03:55:28
【问题描述】:

我正在为一个包含特殊字符的 xml 文件编写解析器,例如

<name>You &amp; me &#174;</name>

默认情况下,dom 解析器会将此值解析为“You & me ®”。 但是我想要的字符串是

You &amp; me &#174;

有什么办法可以做到吗? 谢谢

【问题讨论】:

  • 您使用的是哪个解析器?您是否需要确切的字符串,还是可以在从解析器获取字符串后重新编码?
  • 我在使用DOM,原因是我会返回那些®给我的客户,他们会把它展示给客户。

标签: java xml dom xml-parsing


【解决方案1】:

如果您使用 DOM 进行解析,请参阅DocumentBuilderFactory.setExpandEntityReferences() 方法。

默认情况下,此设置为true,表示实体会自动展开。如果关闭此功能,您将能够从 DOM 中读取实体 - 在这种情况下,您不会只从父元素中获得一个大文本节点,而是会获得与实体节点交错的文本节点。

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 2017-12-19
    • 2013-01-17
    • 2013-12-24
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 2022-11-04
    相关资源
    最近更新 更多