python - 使用 Python 将 XML 文档插入现有 XML

标签 python xml python-3.x elementtree

给定这些 XML 文档:

文档 1

<root>
  <element1>
  </element1>
</root>

文档 2

<request>
  <dummyValue>5</dummyValue>
</request>

使用 Python ElementTree 我想将第二个文档插入到第一个文档中,以便结果如下所示。

结果文档

<root>
  <element1>
    <request>
      <dummyValue>5</dummyValue>
    </request>
  </element1>
</root>

ET.SubElement(element1, request) 给我一个序列化错误。

有Pythonic的方法可以做到这一点吗?

最佳答案

SubElement()构造一个Element,然后将其附加到树上。由于您已经将 request 作为 Element,因此无需构造新的元素。

尝试 element1.append(request),如下所示:

import xml.etree.ElementTree as ET

doc1 = ET.XML('''
<root>
  <element1>
  </element1>
</root>
''')

request = ET.XML('''
<request>
  <dummyValue>5</dummyValue>
</request>
''')

for element1 in doc1.findall('element1'):
    element1.append(request)

ET.dump(doc1)

关于python - 使用 Python 将 XML 文档插入现有 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47891089/

相关文章:

python - 在测试期间抑制日志

python - 部署 Scrapy 时出现 404 错误

python - 如何使用 OpenCV 从网络摄像头读取视频?

Java XML 解析 - 删除第一个标签

python - 如何将图像加载到 python 3.4 tkinter 窗口中?

python - 我无法导入 tensorflow-gpu

python - 对 UTF-8 编码的日语语料库进行 R 处理

python - Flask:重定向不存在的 URL

iphone - 如何在 Iphone 应用程序中部分显示来自 RSS 提要的数据

java.net.SocketException - 尝试获取 XML