【问题标题】:inserting html into an xml query using CDATA使用 CDATA 将 html 插入到 xml 查询中
【发布时间】:2013-02-02 07:25:48
【问题描述】:

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

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

page =  open(html).read()

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

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

这样会出错:

XML 解析错误。
XML 错误文本:";嵌套异常是: org.xml.sax.SAXParseException:XML 文档结构必须启动并且 在同一个实体中结束。”

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

【问题讨论】:

  • 您需要以]]&gt; 而不是]] 结束您的CDATA

标签: python xml


【解决方案1】:

两个潜在问题。

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

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

import base64
encPage = base64.b64encode(page)

【讨论】:

    【解决方案2】:

    您忘记了 &gt; 元素的结束 CDATA

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 2020-03-16
      相关资源
      最近更新 更多