Solución:
//node[not(@*)]
Ese es el XPath para seleccionar todos los nodos llamados “nodo” en el documento sin ningún atributo.
//node[count(@*)=0]
Seleccionará todo
Para abordar el comentario de Marek Czaplicki y ampliar la respuesta
//node[not(@*) or not(string-length(@*))]
…. seleccionará todos los elementos de nodo con atributos cero O que tengan atributos que estén todos vacíos. Si solo le interesa un atributo en particular, en lugar de todos ellos, puede usar
//node[not(@attribute1) or not(string-length(@attribute1))]
… y esto seleccionaría todos los elementos de nodo que no tienen un atributo llamado attribute1
O que tienen un attribute1
atributo que está vacío.
Es decir, los siguientes elementos serían seleccionados por cualquiera de estas expresiones xpath
<nodes>
<node attribute1="aaaa"></node>
<node attribute1=""></node> <!--This one -->
<node attribute1="bbbb"></node>
<node></node> <!--...and this one -->
</nodes>
Vea el ejemplo de jsfiddle aquí
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)