是否可以在XML文档中插入HTML内容?

我需要将HTML内容插入到XML文档中,这是可能的,还是应该将HTML内容编码到BASE64或其他类似的东西中?

您可以包含HTML内容。 正如你所提到的,一种可能性就是将它编码到BASE64中。

另一个可能是使用CDATA标签。

使用CDATA示例:

 <xml> <title>Your HTML title</title> <htmlData><![CDATA[<html> <head> <script/> </head> <body> Your HTML's body </body> </html> ]]> </htmlData> </xml> 

请注意:

CDATA的开始字符序列: <![CDATA[

CDATA的结束字符序列: ]]>

只要你的html内容不需要包含一个CDATA元素,你就可以将HTML包含在一个CDATA元素中,否则你将不得不转义XML实体。

 <element><![CDATA[<p>your html here</p>]]></element> 

VS

 <element>&lt;p&gt;your html here&lt;/p&gt;</element> 

BASE64编码的目的是获取二进制数据并能够将其保存到一个string中。 这个好处是有代价的,结果会增加(我认为是4比3)。 有两个解决scheme。 如果你知道数据将是格式良好的XML,直接包含它。 另一种更好的select是将HTML包含在XML中元素的CDATA部分。

请看这个。

parsing器将忽略CDATA部分中的文本。

http://www.w3schools.com/xml/dom_cdatasection.asp

这将帮助您了解有关XML的基础知识