【发布时间】:2011-01-06 03:19:48
【问题描述】:
如何从已解析的 html 文档中选择给定索引的特定元素。
例如: ...
<div>div1</div>
<div>div2</div>
我想选择第二个div,但在我看来,GPath 不像 Xpath 那样提供解决方案。
【问题讨论】:
标签: groovy xml-parsing gpath
如何从已解析的 html 文档中选择给定索引的特定元素。
例如: ...
<div>div1</div>
<div>div2</div>
我想选择第二个div,但在我看来,GPath 不像 Xpath 那样提供解决方案。
【问题讨论】:
标签: groovy xml-parsing gpath
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"
也可以在div节点上使用集合类型的方法如.each/.find,例如:
xml.body.div.find { it.text() == "div2" }
编辑:
为了澄清我的回答,鉴于 HTML 结构与我上面列出的示例相同,但内容不同,您始终可以使用数组索引 1 访问第二个 div:
xml.body.div[1]
【讨论】: