実行したいトラバーサルの正確なタイプの名前はわかりませんが、基本的には、現在の要素とは逆の順序でドキュメント要素を要素ごとに読み取りたいと考えています。
iterdescendants()
メソッドは何もしていないように見えます。また、メソッドiterancestors()
はサブ要素に足を踏み入れず、ステップアップしてステップアウトするだけです。
実行したいトラバーサルの正確なタイプの名前はわかりませんが、基本的には、現在の要素とは逆の順序でドキュメント要素を要素ごとに読み取りたいと考えています。
iterdescendants()
メソッドは何もしていないように見えます。また、メソッドiterancestors()
はサブ要素に足を踏み入れず、ステップアップしてステップアウトするだけです。
たぶん、このようなものですか?
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