Groovy:Sintaxis correcta para XMLSlurper para buscar elementos con un atributo determinado
-
01-07-2019 - |
Pregunta
Dado un archivo HTML con la estructura html -> cuerpo -> un montón de divs ¿Cuál es la declaración maravillosa correcta para encontrar todos los divs con un atributo de etiquetas que no esté en blanco?
Lo siguiente no funciona:
def nodes = html.body.div.findAll { it.@tags != null }
porque encuentra todos los nodos.
Solución
Pruebe lo siguiente (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()
}
Esto produce:
test1
test4
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow