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