グルーヴィー:XMLSlurper が指定された属性を持つ要素を検索するための正しい構文

StackOverflow https://stackoverflow.com/questions/100325

  •  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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top