使用 Python 将 XML 文档插入到现有的 XML 中 [英] Insert XML document into existing XML with Python

查看:44
本文介绍了使用 Python 将 XML 文档插入到现有的 XML 中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定这些 XML 文档:

Given these XML documents:

文档 1

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

文档 2

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

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

Using Pythons ElementTree I'd like to insert the second document into the first document so that the result would look as follows.

结果文档

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

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

ET.SubElement(element1, request) gives me a serialization error.

有没有 Pythonic 的方法来做到这一点?

Is there a Pythonic way of doing this?

推荐答案

SubElement() 构造一个 Element 然后将它附加到树上.由于您已经将 request 作为 Element,所以您不需要构造一个新的.

SubElement() constructs an Element and then attaches it to the tree. Since you already have request as an Element, you don't need to construct a new one.

试试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 将 XML 文档插入到现有的 XML 中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆