xml - ejemplos - xpath expresiones regulares
XPath: ¿Cómo verificar si existe un atributo? (3)
Dado el siguiente XML, ¿cómo escribo una consulta XPath para extraer nodos donde existe el atributo foo
?:
<node1>
<node2>
<node3 foo=''bar''></node3>
<node3></node3>
<node3 bar=''foo''></node3>
<node3 foo=''foobar''></node3>
</node2>
</node1>
Corto y dulce:
//*[@foo]
Por supuesto, deberías usar una expresión más específica. Pero con [@attributeName]
obtienes todos los nodos que tienen ese atributo.
Si usa y xpath, esto puede ayudarlo:
count(//*[@foo])
devolverá el recuento de nodo / hijo que tiene atributo foo
Use la siguiente expresión XPath
//*[boolean(@foo)]