最後の2つのTRを除くすべてのTRのすべてを選択する方法
質問
LXMLでは、Gibberishを含む最後の2行を除いて、テーブル内のすべてのTRを選択する(行数の行数)を選択しています。
最後の2行を除外するパターンマッチはありますか?私はXPathチュートリアルを通して見ていて、明らかに「オペレータを除く」と「最後の()」があるが、コードが働くようには見えないようです。
これまでのところ私はこれを持っています。最後の2行を除外するようにこのパターンに追加するのは何ですか?主な問題は、TRの数の数です。
result = doc.xpath("//tr")
.
これをリストに変えることができ、最後の2つの要素を削除するだけでなく、より簡単な/エレガントな解決策はありますか?
事前にありがとう!
解決
result = doc.xpath("//tr")[0:-2]
.
トリックをするべきです。
他のヒント
使用:
.
expressionSelectingTheTable/tr[not(position() > last() -2)]
expressionSelectingTheTable
は、質問が尋ねられているテーブルを選択する特定のXPath式で置き換えられるべきである(//table[@id='foo']
など)
この単一XPath式は、tr
の親のすべてのtable
の子を選択し、その位置は最後の2つの1つではありません。
所属していません StackOverflow