4

インデックスを指定して、解析された html ドキュメントから特定の要素を選択するにはどうすればよいですか。

例えば: ...

<div>div1</div>
<div>div2</div>

2番目を選択したいのですが、divGPathはXpathのようなソリューションを提供していないようです。

4

1 に答える 1

7
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]
于 2011-01-06T04:11:31.540 に答える