uso usar para lista etiquetas emplea elementos ejemplo basicos atributos atributo java xpath groovy gpath

java - usar - ¿Cómo encontrar valor elemento por atributo en GPath?



usar atributo alt en html (4)

¿Qué es una alternativa a este XPath //div[@id=''foo''] en GPath? En general, ¿dónde puedo encontrar esta documentación?


Aquí está el fragmento correspondiente:

def node = new XmlSlurper().parseText(...) def foo = node.depthFirst().findAll { it.name() == ''div'' && it.@id == ''foo''}

Algunos otros enlaces que puede querer leer:


El póster anterior le dio todo lo que se requiere: asumiendo que su documento se ha reducido a xml , desea

def foo = xml.path.to.div.find{it.@id == ''foo''}

Para encontrar un solo resultado. O findAll a findAll para encontrar todos los resultados.


Lo que necesitas es esto:

def root = new XmlSlurper().parseText(<locOfXmlFileYouAreParsing>.toURL().text) def foundNode = root.''**''.find{ it.@id == "foo" }

Es el doble * que te permitirá encontrarlo sin conocer el camino. Al menos así es como lo hago.


Para imitar la expresión // div [@ id = ''foo''] lo más parecido que puedes hacer con un GPath es:

def xml = new XmlParser().parseText(text) xml.''**''.div.findAll { it.@id=="foo" }

el ''**'' es casi lo mismo que ''//'' en tu XPath.

xml.''**''.div

cederá todos los nodos del tipo div en cualquier nivel.

Luego de filtrar con findAll () con el cierre dado, obtendrás una lista de nodos como en el caso de XPath.