使用CDATA将html插入xml查询

时间:2013-02-01 23:21:43

标签: python xml

我正在尝试将html文件的内容插入到xml请求中。

我以这种方式打开html文件:

page =  open(html).read()

然后以这种方式在xml中插入内容:

"<Description><![CDATA["+page+"]]</Description>"+\

这种错误就是这样:

  

XML Parse错误。
XML错误文本:“;嵌套异常是:     org.xml.sax.SAXParseException:XML文档结构必须启动和   在同一实体内结束。“

我假设我必须做的不仅仅是将html文件的内容转储到CDATA标签中?或者以不同的方式做到这一点?

2 个答案:

答案 0 :(得分:3)

两个潜在问题。

首先,结束CDATA阻止的正确方法是]]>,而不是]]

其次,您的HTML数据可能包含CDATA块和nested CDATA blocks are not allowed。您可以考虑编码您的HTML数据,例如使用Base64:

import base64
encPage = base64.b64encode(page)

答案 1 :(得分:2)

您忘记了>元素的结束CDATA

"<Description><![CDATA["+page+"]]></Description>"+\