gpt4 book ai didi

python - 使用 ElementTree 的 iterparse 方法时如何知道元素的父元素?

转载 作者:太空宇宙 更新时间:2023-11-04 01:36:26 25 4
gpt4 key购买 nike

我想遍历 xml 文件的元素并生成每个元素,除非父元素是一个特征。

所以在伪代码中

    for event, element in cElementTree.iterparse('../test.xml'):
if parentOf_element != 'feature':
yield element

如何获取元素的父元素?我知道使用 tree.getiterator() 函数是可行的,但我不想构建完整的树,因为 xml 文件有几个大。

最佳答案

您可以使用 lxml 执行此操作.它有 getparent()。

或者,可以处理 startend 事件,并使用 cElementTree 跳过 feature 子级:

from xml.etree import cElementTree as etree

in_feature_tag = False
for event, element in etree.iterparse('test.xml', events=('start', 'end')):
if element.tag == 'feauture':
in_feature_tag = event == 'start'
if event == 'end' and not in_feature_tag:
yield element

关于python - 使用 ElementTree 的 iterparse 方法时如何知道元素的父元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com