繁体   English   中英

逃脱XML字符的最佳实践?

[英]Best practise to escape XML characters?

我已经将HTML数据转换为Dom4J文档。

我遇到了一个错误:

org.dom4j.DocumentException: Error on line 1 of document  : Reference is not allowed in prolog. Nested exception: Reference is not allowed in prolog.
    at org.dom4j.io.SAXReader.read(SAXReader.java:482)
    at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
    at MonTest.main(MonTest.java:21)
Nested exception: 
    org.xml.sax.SAXParseException: Reference is not allowed in prolog.

我需要转入&字符“&”; 为了建立文件。

在XML中,似乎我们需要转义5个字符:(gt,lt,quot,amp,apos)

尽管如此,我如何能够逃脱它,而又不将其转义到“节点”元素中:

<div id="test" class='toto'>A&A<A"A</div>

应该给:

<div id="test" class='toto'>A&amp;A&lt;A&quot;A</div>

并不是

&lt;div id=&quot;test&quot; class=&apos;toto&apos;&gt;A&amp;A&lt;A&quot;A&lt;/div&gt;

谢谢,

在添加到XML文档之前先转义字符串。 使用Apache Commons Lang中的StringEscapeUtils.escapeXml方法。 使用一些库来构建XML,例如http://code.google.com/p/joox/

我将看看使用宽大的HTML XMLReader而不是默认的XMLReader实现。 标签汤html整洁之类的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM