如何使用ElementTree获取XML树中下一个子节点的属性值

时间:2014-01-17 20:10:13

标签: python xml-parsing elementtree

我正在使用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")

1 个答案:

答案 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])