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