我需要将HTML内容插入到XML文档中,这是可能的,还是应该将HTML内容编码为BASE64或其他类似内容?
答案 0 :(得分:123)
您可以添加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的结束字符序列:]]>
答案 1 :(得分:20)
只要您的html内容不需要包含CDATA
元素,您就可以在CDATA
元素中包含HTML,否则您将不得不转义XML实体。
<element><![CDATA[<p>your html here</p>]]></element>
VS
<element><p>your html here</p></element>
答案 2 :(得分:8)
BASE64编码的目的是获取二进制数据并能够将其保留为字符串。这个好处是有代价的,结果的大小增加(我认为它是4比3的比例)。有两种解决方案。如果您知道数据将是格式良好的XML,请直接包含它。另一个更好的选择是将HTML包含在XML中元素的CDATA部分中。
答案 3 :(得分:1)
答案 4 :(得分:0)
只需将 html 标签放在那里的内容,并在等号之后添加带引号的 xmlns 属性,引号之间是 http://www.w3.org/1999/xhtml