インデックスを指定して、解析された html ドキュメントから特定の要素を選択するにはどうすればよいですか。
例えば: ...
<div>div1</div>
<div>div2</div>
2番目を選択したいのですが、div
GPathはXpathのようなソリューションを提供していないようです。
インデックスを指定して、解析された html ドキュメントから特定の要素を選択するにはどうすればよいですか。
例えば: ...
<div>div1</div>
<div>div2</div>
2番目を選択したいのですが、div
GPathはXpathのようなソリューションを提供していないようです。
def html = """
<html>
<head>
<title>test</title>
</head>
<body>
<div>div1</div>
<div>div2</div>
</body>
</html>"""
def xml = new XmlSlurper().parseText(html)
assert xml.body.div[0].text() == "div1"
assert xml.body.div[1].text() == "div2"
.each/.find などの div ノードでコレクション タイプのメソッドを使用することもできます。次に例を示します。
xml.body.div.find { it.text() == "div2" }
編集:
私の答えを少し明確にするために、上記のサンプルと同じ構造の HTML をさまざまなコンテンツで指定すると、配列インデックス 1 を使用していつでも 2 番目の div にアクセスできます。
xml.body.div[1]