【发布时间】:2019-01-24 05:36:39
【问题描述】:
我有一个如下格式的示例文件。
源 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>
我能够通过整个文档并找到甚至能够通过标签。我的要求是找到最后一个标签并添加一个新的标签元素,如上面给出的目标 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)
【问题讨论】: