У меня есть XML, в котором есть группа похожих элементов, и мне нужно вставить элементы в середину этой группы
Например:
XML = """
<first>
<second>second element</second>
<third>third element</third>
<third>another third element</third>
<third>yet another third element</third>
</first>
"""
Мне нужно иметь возможность вставить другой элемент в середину третьих элементов.
Я пытался использовать findall:
from lxml import etree
parser = etree.XMLParser()
root = etree.fromstring(XML, parser)
newElement = etree.Element('third')
newElement.text = 'new element added'
elementList = root.findall('third')
elementList.insert(2, newElement)
print(etree.tostring(root))
Выход:
<first>
<second>second element</second>
<third>third element</third>
<third>another third element</third>
<third>yet another third element</third>
</first>
Что я пытаюсь сделать:
<first>
<second>second element</second>
<third>third element</third>
<third>another third element</third>
<third>new element added</third>
<third>yet another third element</third>
</first>
Я думаю, что я мог бы использовать root.insert(<place>, <element>)
, но фактический XML, который я пытаюсь изменить, намного больше (слишком велик, чтобы публиковать), и я не уверен, что это будет самый Pythonic способ сделать это.
Любая помощь будет принята с благодарностью. Спасибо