Groovy:XMLSlurper 查找具有给定属性的元素的正确语法

发布于 2024-07-06 17:14:35 字数 218 浏览 6 评论 0 原文

给定一个结构为 html -> 的 HTML 文件 身体-> 一堆 div 查找所有具有非空白标签属性的 div 的正确 groovy 语句是什么?

以下不起作用:

def nodes = html.body.div.findAll { it.@tags != null }

因为它找到了所有节点。

Given a HTML file with the structure html -> body -> a bunch of divs what is the correct groovy statement to find all of the divs with a non blank tags attribute?

The following is not working:

def nodes = html.body.div.findAll { it.@tags != null }

because it finds all the nodes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩套路吗 2024-07-13 17:14:35

尝试以下操作(Groovy 1.5.6):

def doc = """
<html>
    <body>
        <div tags="1">test1</div>
        <div>test2</div>
        <div tags="">test3</div>
        <div tags="4">test4</div>
    </body>
</html>
"""

def html = new XmlSlurper().parseText( doc)

html.body.div.findAll { [email protected]()}.each { div ->
    println div.text()
}

输出:

test1
test4

Try the following (Groovy 1.5.6):

def doc = """
<html>
    <body>
        <div tags="1">test1</div>
        <div>test2</div>
        <div tags="">test3</div>
        <div tags="4">test4</div>
    </body>
</html>
"""

def html = new XmlSlurper().parseText( doc)

html.body.div.findAll { [email protected]()}.each { div ->
    println div.text()
}

This outputs:

test1
test4
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文