【问题标题】:how to pass a <![CDATA[(...)]]> String to a XML file?如何将 <![CDATA[(...)]]> 字符串传递给 XML 文件?
【发布时间】:2013-01-24 18:24:57
【问题描述】:

我需要将&lt;![cdata[something-html-formatted]]&gt; 传递给一个 xml 文件,在该文件中我将其解析为 html 电子邮件正文。除了正确检索电子邮件正文外,一切正常。 比如说,我有一个这样的字符串:

&lt;![CDATA[I need to write &lt;b&gt;this&lt;/b&gt; text in &lt;i&gt;italic&lt;/i&gt;]]&gt;

我总是在这样的电子邮件中得到结果:

this 斜体文本]]>

如何将完整的字符串传递给 XML 文件?

提前致谢!

【问题讨论】:

  • 你是如何在 xml 文件中生成 cdata 的?另请注意,作为一般规则,无论您遇到什么问题,cdata 都不是解决方案。
  • 你用什么来发送邮件。检查您的电子邮件格式。是否标记为“HTML”格式?

标签: java html xml cdata


【解决方案1】:

简单地对其进行编码,就像您对其他所有内容一样,将&amp;lt; 替换为&amp;lt; 并将&amp;gt; 替换为&amp;gt;

<xml>
&lt;![CDATA[I need to write &lt;b&gt;this&lt;/b&gt; text in 
&lt;i&gt;italic&lt;/i&gt;]]&gt;
</xml>

工作正常。

【讨论】:

  • &amp;gt; 需要转义的唯一情况是在序列化 XML 时关闭 CDATA 标记。你找到了一个边缘案例。尽管某些框架不为您执行此操作,但始终可以安全地转义/取消转义 &amp;gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 2014-03-19
  • 2011-10-17
  • 2018-09-02
相关资源
最近更新 更多