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

问题描述 投票:2回答:1

鉴于这些XML文档:

文件1

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

文件2

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

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

结果文件

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

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

是否有Pythonic方式这样做?

python xml python-3.x elementtree
1个回答
2
投票

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)
© www.soinside.com 2019 - 2024. All rights reserved.