グルーヴィー:XMLSlurper が指定された属性を持つ要素を検索するための正しい構文
-
01-07-2019 - |
質問
次の構造を持つ HTML ファイルがあるとします。 html -> 本体 -> 大量の div 空白以外のタグ属性を持つすべての div を見つけるための正しい Groovy ステートメントは何ですか?
以下は機能しません:
def nodes = html.body.div.findAll { it.@tags != null }
すべてのノードが見つかるからです。
解決
次のことを試してください (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 { it.@tags.text()}.each { div ->
println div.text()
}
これにより次の出力が出力されます。
test1
test4
所属していません StackOverflow