我正在使用ElementTree解析XML文件。但我不知道如何在解析时访问下一个元素。我想要做的是将特定标签打印到文件,如果对应于下一个孩子的相同标签是相同的。例如。如果第5个元素的code
标记是12345而第6个元素的标记也是12345,那么我想在文件中打印代码。
类似的东西:
for child in root:
if child.find('code').text == next(child).find('code').text:
file.write(child.find('code').text + "\n")
答案 0 :(得分:0)
这已经过测试,应该有效:
it = root.iter('code')
prev = it.next()
for current in it:
if prev.text == current.text:
print prev.text
prev = current
您也可以使用zip
:
for current, next in zip(codes, codes[1:]):
print map(lambda node: node.find('code').text, [current, next])