У меня есть пример файла следующего формата.
Исходные данные XML:
<nametag dummy1 ="YES" dummy2 ="PASS THROUGH" >
<PARTITION DESCRIPTION ="" NAME ="Partition #1"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #2"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #3"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #4"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #5"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #6"/>
</nametag>
Цель:
<nametag dummy1 ="YES" dummy2 ="PASS THROUGH" >
<PARTITION DESCRIPTION ="" NAME ="Partition #1"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #2"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #3"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #4"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #5"/>
<PARTITION DESCRIPTION ="" NAME ="Partition #6"/>
<newtag value=1 value=2/>
</nametag>
Я могу пройти весь документ, найти и даже передать теги. Мое требование - найти последний тег и добавить новый элемент тега, как указано в Target xml, приведенном выше. Ни одна из позиций не всегда одинакова, поэтому цикл с фиксированной итерацией не будет работать.
Мне нужно будет найти последний тег и вставить "" после этого.
Нужно найти последний тег.
Я могу проанализировать xml-файл, используя код, подобный приведенному ниже.
import xml.etree.ElementTree as ET
tree = ET.parse('some.xml')
root = tree.getroot()
for partition in root.iter('PARTITION'):
partitiondetail = partition.get('NAME')
if partitiondetail == 'somepattern':
print(partitiondetail)