相关疑难解决方法(0)

使用没有外部库的嵌套元素合并xml文件

我试图使用Python将多个XML文件合并在一起,而不是外部库.XML文件具有嵌套元素.

示例文件1:

<root>
  <element1>textA</element1>
  <elements>
    <nested1>text now</nested1>
  </elements>
</root>
Run Code Online (Sandbox Code Playgroud)

示例文件2:

<root>
  <element2>textB</element2>
  <elements>
    <nested1>text after</nested1>
    <nested2>new text</nested2>
  </elements>
</root>
Run Code Online (Sandbox Code Playgroud)

我想要的是:

<root>
  <element1>textA</element1>    
  <element2>textB</element2>  
  <elements>
    <nested1>text after</nested1>
    <nested2>new text</nested2>
  </elements>  
</root>  
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

这个答案.

from xml.etree import ElementTree as et
def combine_xml(files):
    first = None
    for filename in files:
        data = et.parse(filename).getroot()
        if first is None:
            first = data
        else:
            first.extend(data)
    if first is not None:
        return et.tostring(first)
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

<root>
  <element1>textA</element1>
  <elements>
    <nested1>text now</nested1>
  </elements>
  <element2>textB</element2>
  <elements>
    <nested1>text after</nested1>
    <nested2>new …
Run Code Online (Sandbox Code Playgroud)

python xml elementtree python-2.7

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

elementtree ×1

python ×1

python-2.7 ×1

xml ×1