online examples attribute syntax xpath selectnodes

syntax - examples - ¿Cómo seleccionar todos los nodos de hoja usando la expresión XPath?



xpath selenium (4)

¿Por qué menos o igual a 1?

xmlNode.SelectNodes("//*[count(child::*) = 0]")

Haga pruebas, etc. en este sitio http://www.whitebeam.org/library/guide/TechNotes/xpathtestbed.rhtm

Bastante útil ...

Creo que es posible, pero no pude entender la sintaxis. Algo como esto:

xmlNode.SelectNodes("//*[count(child::*) <= 1]")

Pero esto no es correcto.


Cualquier elemento sin elemento niño

//*[not(child::*)]


Estoy agregando esta respuesta XSLT ya que parece que las coincidencias frontales de Google carecen de esa solución:

Después de una larga lucha con la extracción de CDATA como XML, finalmente, esta expresión funcionó mejor para mí:

<xsl:template match="*[not(child::*)]/text()">


Uso :

//node()[not(node())]

En caso de que solo se necesiten nodos de hoja de elemento (y esto necesita aclaración: ¿los elementos que tienen hijos sin elemento se consideran nodos hoja?), Entonces la siguiente expresión XPath los selecciona:

//*[not(*)]

Ambas expresiones anteriores son probablemente las más cortas que seleccionan los nodos deseados (nodos any-node o element-leaf).