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

Insert XML document into existing XML with Python

鉴于这些 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)