1
私は2つの兄弟ノードA
とB
を探しています。彼らはセレクタを満足させるでしょうjsoup経由で要素のペアを取得する方法は?
root.select("A ~ B")
そしてセレクタはそのようなすべてのB
を返します。
しかし、私はそのようなものが必要な場合はどうすればいいですか?A
/B
ペア?私は現在次のようにしています:
root.select("A").stream()
.filter(a -> a.parent() != null)
.forEach(a -> {
Element b = a.parent().select("B:gt(" + a.elementSiblingIndex() + ")").first();
if (b != null) {
// do something with a and b
}
});
これはほぼ正しいイディオムですか? a.parent().select()
はぎこちないようですが、私はそれを行う簡単な方法を見つけることができません。
私はトラブルこれを視覚化を抱えている:あなたが使用したくない場合
a.parent().select()
あなたはsiblingElements()
と同じ結果を得ることができますか? –私は質問を明確にするために書き直そうとしました。申し訳ありません。 – dkarp
また、2番目の 'select'を' '' 'にする必要があります:root> B:gt(" + a.elementSiblingIndex()+ ")" '? – dkarp