【发布时间】:2010-12-10 19:11:16
【问题描述】:
我需要将 HTML 内容插入到 XML 文档中,这可能吗?或者 HTML 内容是否应该以例如 BASE64 或其他类似的方式编码?
【问题讨论】:
我需要将 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 元素,您就可以在 CDATA 元素中包含 HTML,否则您将不得不转义 XML 实体。
<element><![CDATA[<p>your html here</p>]]></element>
VS
<element><p>your html here</p></element>
【讨论】:
BASE64 编码的目的是获取二进制数据并能够将其保存为字符串。这种好处是有代价的,即结果规模的增加(我认为这是 4 比 3 的比率)。有两种解决方案。如果您知道数据将是格式良好的 XML,请直接包含它。另一种更好的选择是将 HTML 包含在 XML 内的元素内的 CDATA 部分中。
【讨论】:
【讨论】:
只需将带有内容的 html 标记放在其中,然后在等号之后添加带引号的 xmlns 属性,引号之间是 http://www.w3.org/1999/xhtml
【讨论】: