groovy - Necesito una consulta GPath para seleccionar un nodo usando un índice numérico
xml-parsing (1)
def html = """
<html>
<head>
<title>test</title>
</head>
<body>
<div>div1</div>
<div>div2</div>
</body>
</html>"""
def xml = new XmlSlurper().parseText(html)
assert xml.body.div[0].text() == "div1"
assert xml.body.div[1].text() == "div2"
También puede usar métodos de tipo de colección en el nodo div como .each / .find, por ejemplo:
xml.body.div.find { it.text() == "div2" }
EDITAR:
Para aclarar mi respuesta un poco, dado el HTML en la misma estructura que la muestra que mencioné anteriormente pero con varios contenidos, siempre puede acceder al segundo div usando el índice de matriz 1:
xml.body.div[1]
¿Cómo selecciono de un documento html analizado un elemento específico dado su índice?
Por ejemplo: ...
<div>div1</div>
<div>div2</div>
Quiero seleccionar el segundo div
pero me parece que GPath no ofrece una solución como Xpath.