我想在xml文件中添加一个子元素,但是在一个非常特定的位置,不会附加到结尾。
标准方式是:
subi = ET.SubElement(root[0][0], 'subi')
哪个好。
但是:让我们说,root [0] [0]已经有两个孩子,因此可以通过root [0] [0] [0]和root [0] [0] [1]访问。
我想" subi"成为新的中间孩子,根[0] [0] [1],使原来的第二个孩子成为第三个孩子根[0] [0] [2]。
有办法吗? (我对生活和自然的体验会说不,但我对python =)寄予厚望。
答案 0 :(得分:2)
您可以使用Element.insert
方法。它允许您指定索引。
例如,要在3rd(index:2)元素之前插入:
>>> import xml.etree.ElementTree as ET
>>>
>>> root = ET.fromstring('''
... <root>
... <first></first>
... <second></second>
... <third></third>
... </root>
... ''')
>>>
>>> new = ET.Element('new')
>>> root.insert(2, new) # <-----------
>>> print(ET.tostring(root))
<root>
<first />
<second />
<new /><third />
</root>