PYTHON:如何在XML中添加根节点

1 投票
1 回答
8641 浏览
提问于 2025-04-20 08:31

我有一个看起来像这样的xml文件

<A>
  <B>
     <C>
       ....
     </C>
  </B>
</A>

我想在元素'A'的上面添加一个根元素。我找到了一种方法可以往根元素里添加元素。但是,怎么用python来改变现有的根元素,并在它上面添加呢?

在给xml添加根元素后,它应该看起来像这样

<ROOT>
  <A>
    <B>
       <C>
         ....
       </C>
    </B>
  </A>
</ROOT>

1 个回答

6
import lxml.etree as ET
tree = ET.parse('data')
root = tree.getroot()
newroot = ET.Element("root")
newroot.insert(0, root)
print(ET.tostring(newroot, pretty_print=True))

产生

<root>
  <A>
  <B>
     <C>
       ....
     </C>
  </B>
</A>
</root>

但实际上,除非你需要添加一些更复杂的内容,简单的字符串格式化就足够了:

with open('data', 'rb') as f, open('newdata', 'wb') as g:
    g.write('<ROOT>{}</ROOT>'.format(f.read()))

撰写回答