2013-01-24 42 views
0

我需要将<![cdata[something-html-formatted]]>传递给一个xml文件,我将它解析为html电子邮件正文。除了正确检索电子邮件正文之外,所有工作都正常 说,例如,我有一个这样的字符串:如何将<![CDATA [(...)]]>字符串传递给XML文件?

<![CDATA[I need to write <b>this</b> text in <i>italic</i>]]>

我总是对电子邮件这样的结果:

斜体<这个</b>的文本/ I>] ]>

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

在此先感谢!

+0

你如何在xml文件中生成cdata?还要注意,作为一般规则,无论您的问题是什么,cdata都不是解决方案。 – jtahlborn

+0

你用什么来发送电子邮件。检查电子邮件的格式。它是否标记为“HTML”格式? – spooky

回答

2

简单地对其进行编码,就像您一切,用&lt;>&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> 

工作正常。

+1

需要转义'>'的唯一情况是在序列化XML时关闭CDATA标记。你找到了一个边缘案例。尽管有些框架不会为你做这件事,但总是可以逃避/ unescape'>'。 – Pedantic

相关问题