加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy – 我需要一个GPath查询来使用数字索引选择一个节点

发布时间:2020-12-14 16:24:18 所属栏目:大数据 来源:网络整理
导读:如何从已解析的html文档中选择给定其索引的特定元素. 例如: … divdiv1/divdivdiv2/div 我想选择第二个div,但在我看来GPath并没有像Xpath那样提供解决方案. 解决方法 def html = """html head titletest/title /head body divdiv1/div divdiv2/div /body/ht
如何从已解析的html文档中选择给定其索引的特定元素.

例如:

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

我想选择第二个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"

您还可以在div节点上使用集合类型方法,例如.each / .find,例如:

xml.body.div.find { it.text() == "div2" }

编辑:

为了澄清我的答案,给定HTML与上面列出的示例结构相同,但具有各种内容,您始终可以使用数组索引1访问第二个div:

xml.body.div[1]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读