我应该去哪里查找lxml.etree的逆向树遍历?
我不太确定我想要的遍历方式叫什么名字,但基本上我想从当前元素开始,反向逐个读取文档中的元素。
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