XPath: recursiva antepasado Buscar
Pregunta
Con mi nodo actual seleccionado Deseo encontrar un elemento <name>
[./name]
y devolver el contenido del texto. Si un <name>
elemento no existe en el nodo seleccionado en ese momento me gustaría comprobar el [./parent::name]
elemento padre y así sucesivamente de forma recursiva hasta la raíz, devolviendo el valor de la matriz más cercano donde existe el elemento.
¿Se puede hacer con XPath?
Solución
(Edit: malinterpretado la pregunta la primera vez)
Me propongo utilizar
ancestor-or-self::name[1]
Esto encuentra todos los elementos name
, empezando por uno mismo, los padres, y así sucesivamente, y los ordena en aumentar la distancia desde uno mismo. Por lo que seleccionar [1]
le da la más cercana.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow