質問

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つではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top