当前位置: 首页 > 知识库问答 >
问题:

如何添加xml元素并使用ElementTree将数据(内部文本)包装到CDATA标记中

颜英博
2023-03-14

我正在努力寻找一个很好的例子,说明如何将XML元素添加到XML文档中,并将数据(内部文本)添加到同一元素中,但将数据包装到CDATA标记中?

这是我需要的一个例子。我有以下文件。

<data>
     <config>
          <documentation>This is my documentation<documentation>
     </config>
</data>

然后我想添加一个元素和CDATA作为内部文本。所以它看起来像这样。我需要包装在CDATA标签中的数据可能相当大,需要从文件中读取/引用。

<data>
     <config>
              <documentation>This is my documentation<documentation>
              <script><![CDATA[
              function foo()
              …
              End
              ]]>
              </script>
     </config>
</data>

然后我需要写的变化到一个新的文档...(

共有1个答案

督烨赫
2023-03-14

您应该能够使用lxml提供的. CDATA()方法。

http://lxml.de/api.html#cdata

只需像平常一样创建一个子元素

some_var = root.find('config')
another_var = etree.SubElement(some_var, 'script')
another_var.text = etree.CDATA(another_var.text)

然后你就可以正常地写出数据了。

 类似资料:
  • 我有这个项目的最后期限(星期一)。它在本地主机上运行得非常好,但是当我将它上传到web服务器时,我发现我们没有启用所有DOM包,并且我无法使用函数DOM\u import\u simplexml()。我的服务器管理员忽略了我的请求,可能是因为通知太短,而且我不可能那么快地将XML系统重写为数据库系统。 这似乎是我遇到的唯一错误。拜托,如果你有什么别的想法,我很乐意听听。我不知所措,因为我找不到其他

  • 我试图用xml2js构建一个XML节点。当我添加包装在cdata中的html标签时,它会创建一个单独的节点,如下所示。如果我把CDATA包在里面"

  • 我有一个带有文本元素的XML,它可以包括标记的文本,并且取决于元素属性值,我知道内容是CDATA封装的还是XHTML。 因为我不能在文本元素中拥有/创建任何子元素,所以如果我得到XHTML,我将需要封装。 这只是我需要在XSLT中转换的许多元素中的一个 一个简短的xml示例 我终于试过了,它确实达到了目的。只是html标记没有被保留。 这将产生以下结果(请注意 标记在第一个文本中消失) 我还尝试使

  • 我有一个包含数万个XML文件(小文件)的语料库,我正在尝试使用Python并提取其中一个XML标记中包含的文本,例如,body标记之间的所有内容,例如: 然后编写一个包含此字符串的文本文档,然后向下移动XML文件列表。 我正在使用effbot的ELementTree,但找不到正确的命令/语法来做到这一点。我找到了一个使用迷你DOM的dom.getElementsByTagName的网站,但我不确定

  • 问题内容: 使用微数据,是否可以通过使用meta标签将图像添加到事件中? 在官方的Microdata网站上,我看到了将图像添加到事件的选项: 效果很好。但是,我想知道是否可以使用类似的方法添加该图像: 根据我的测试,这不起作用。 问题答案: 必须使用元素(因为该值为URI),而不是使用元素: 这是通过HTML5需要(粗体重点煤矿): 该元素表示各种元数据的 不能使用[…]表示[…]的元素。

  • 我想使用XSL编码在XML开始时添加样式表标记 输入XML: