鉴于这些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方式这样做?
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)