Tener el siguiente código XML:
<node>Text1<subnode/>text2</node>
¿Cómo selecciono la primera o la segunda nodo de texto a través de XPath?
Uso:
/node/text()
Esto selecciona todos los niños de texto nodos del elemento superior (llamado "nodo") del documento XML.
/node/text()[1]
Selecciona el primer elemento de nodo de texto del elemento superior (denominado "nodo") del documento XML.
/node/text()[2]
Esto selecciona el segundo hijo de nodo de texto del elemento superior (denominado "nodo") del documento XML.
/node/text()[someInteger]
Selecciona el texto niño-nodo someInteger-ésima del elemento superior (llamado "nodo") del documento XML. Es equivalente a la siguiente expresión XPath:
/node/text()[position() = someInteger]
Usted escribió: * '/ node/text() [2]' [...] no funciona porque es el resultado fusionado de cada texto dentro del nodo * Eso está mal: significa * segundo hijo del nodo de texto del elemento raíz 'nodo' *. El ** valor de cadena ** (concatenación de nodos descendientes de texto) sería 'string (/ node)' –
¿Quiere decir que la consulta Xpath debería funcionar? Bueno, supongo que tengo otro problema en otro lado entonces. ;) ¡Gracias! – kernel
Buena pregunta, +1. Consulte mi respuesta para obtener una explicación y varias expresiones XPath que seleccionan todos o un elemento secundario de nodo de texto específico del elemento superior. –