2012-03-26 2 views
0

は、私はあなたが私はスパン要素にアクセスするために見つける使用見ることができるように要素ツリーは、XQuerylxmlの要素をどのようにナビゲートするのですか?

categories = tree.xpath(u"//ul[@class='tree-root']/li") 

for cat in categories: 
    catName = cat.find('span/span') # is there any shortcut for this? 

で戻ってきたと言います。質問には、既知のパスを持つ子要素にアクセスするためのショートカットがありますか、またはfindが唯一の方法ですか?

+0

1回のコールよりも短いものは何ですか? – Marcin

+0

'find'はいくつかの検索作業をしてパフォーマンスに影響を与えるように聞こえますが、私は確かにパスを知っていますが、検索する必要はありません。 – Pablo

答えて

2

あなたは木の上などの要素に同じ方法をxpath()を使用することができます。

span = cat.xpath('span/span') 

残念ながら、私はドキュメント内のサブ要素へのより直接的なアクセスについては何も見つけることができませんでした。それらは反復されるか、リスト要素としてアクセスされますが、それはあまり便利ではありません。 クラスは、現在の要素の属性にのみアクセスできます。

+0

cat ['span'] ['span']やcat.span.spanのようにネイティブにアクセスする方法はありますか? – Pablo

+0

私はそれが可能ではないと思います。私は少し答えを拡大しました。 –

+0

あまりにも悪い...とにかく、спасибо:) – Pablo

関連する問題