我使用Java和Apache Xerces XML解析器。错误发生在org.apache.xerces.parsers.DOMParser.parse
内。
<content id="xxx">&<br /></content>
如果我要解析的XML文档中出现这样的行,则解析器崩溃并返回以下错误消息:
org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
我可以将问题的根源缩小到<br />
的外观,因为如果我省略它但却无法理解导致破损的原因,它会很好用。 &符号被正确转义,不应以任何方式干扰<br />
作为HTML行分隔符的出现。
答案 0 :(得分:0)
您可以将其置于!CDATA
之下。如果这就是你所追求的,那么这将使它不被XML解析器解析。您可以阅读有关CDATA部分here的更多信息。
<content id="xxx">&<![CDATA[<br />]]/>
答案 1 :(得分:0)
您应该在CDATA中的标签之间放置文字:
<content id="xxx"><![CDATA[& <br />]]></content>
或者以这种方式写它:
<content id="xxx">& <br /></content>