我应该去哪里查找lxml.etree的逆向树遍历?

0 投票
1 回答
754 浏览
提问于 2025-04-17 05:16

我不太确定我想要的遍历方式叫什么名字,但基本上我想从当前元素开始,反向逐个读取文档中的元素。

iterdescendants()这个方法好像没有什么作用,而iterancestors()这个方法则不会进入子元素,它只是向上走,离开当前元素,你懂我的意思吧。

1 个回答

0

也许可以这样做?

import lxml.etree as et

xmldata = """
<data>
    <mango>1</mango>
    <kiwi>2</kiwi>
    <banana>3</banana>
    <plum>4</plum>
</data>
"""

tree = et.fromstring(xmldata)

el = tree.find('plum')
print el.text

while True:
    el = el.getprevious()
    if el is None:
        break
    print el.text

结果:

4
3
2
1

撰写回答