0

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

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

page =  open(html).read()

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

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

这样会出错:

XML 解析错误。
XML 错误文本:“;嵌套异常是:org.xml.sax.SAXParseException:XML 文档结构必须在同一个实体内开始和结束。”

我假设我必须做的不仅仅是将 html 文件的内容转储到 CDATA 标记中?或者也许以不同的方式来做?

4

2 回答 2

3

两个潜在问题。

首先,结束CDATA块的正确方法是使用]]>,而不是]]

其次,您的 HTML 数据可能包含 CDATA 块,并且不允许嵌套 CDATA 块。您可能会考虑使用 Base64 对 HTML 数据进行编码,例如:

import base64
encPage = base64.b64encode(page)
于 2013-02-01T23:25:48.170 回答
2

>您忘记了CDATA元素的关闭:

"<Description><![CDATA["+page+"]]></Description>"+\
于 2013-02-01T23:23:35.457 回答