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

时间:2010-12-10 19:11:17

标签: html xml

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

5 个答案:

答案 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>&lt;p&gt;your html here&lt;/p&gt;</element>

答案 2 :(得分:8)

BASE64编码的目的是获取二进制数据并能够将其保留为字符串。这个好处是有代价的,结果的大小增加(我认为它是4比3的比例)。有两种解决方案。如果您知道数据将是格式良好的XML,请直接包含它。另一个更好的选择是将HTML包含在XML中元素的CDATA部分中。

答案 3 :(得分:1)

请看这个。

解析器将忽略CDATA部分内的文本。

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

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

答案 4 :(得分:0)

只需将 html 标签放在那里的内容,并在等号之后添加带引号的 xmlns 属性,引号之间是 http://www.w3.org/1999/xhtml