sib*_*ert 4 python xml elementtree
我想在一个xml文件中添加一个子元素,但是在一个非常具体的位置,而不是附加到最后。
标准方法是:
subi = ET.SubElement(root[0][0], 'subi')
Run Code Online (Sandbox Code Playgroud)
这很好。
但是:比方说,root[0][0] 已经有两个孩子,因此可以通过 root[0][0][0] 和 root[0][0][1] 访问。
并且我希望“subi”成为新的中间孩子root[0][0][1],使原来的第二个孩子成为第三个孩子root[0][0][2]。
有没有办法做到这一点?(我对生活和自然的经历会说不,但我对python寄予厚望=)
您可以使用Element.insert方法。它允许您指定索引。
例如,要在第 3 个(索引: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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6414 次 |
| 最近记录: |