无法解析java中包含html字符实体的xml

时间:2018-05-10 09:49:06

标签: java xml

当xml由html字符实体组成时,它会像这样抛出异常

[com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxParsingException: Undeclared general entity "ensp"
at [row,col {unknown-source}]: [1,66475]

是否有任何方式声明一般实体,以便我不必处理此异常。

1 个答案:

答案 0 :(得分:1)

听起来你错过了Woodstox XML解析器的一些配置:

https://medium.com/@cowtowncoder/configuring-woodstox-xml-parser-woodstox-specific-properties-1ce5030a5173

  

P_TREAT_CHAR_REFS_AS_ENTS(默认值:false):通常只是扩展字符引用(如&)并将其作为字符数据的一部分进行报告;但如果此属性设置为true,则会将其报告为ENTITY标记。在尝试完全再现XML文档的输入表示时,这可能偶尔会有用,包括选择转义特殊字符。   注意:这仅适用于文本内容 - 不支持属性值(因为没有单独的标记;属性只能通过START_ELEMENT标记访问)

Api docs: http://fasterxml.github.io/woodstox/javadoc/5.0/com/ctc/wstx/api/WstxInputProperties.html#P_TREAT_CHAR_REFS_AS_ENTS