XPath
🎯 Fundamentos de XPath
XPath (XML Path Language) es un lenguaje que permite navegar a través de elementos y atributos en un documento XML.
Se utiliza para encontrar información en un documento XML y se puede usar con varias tecnologías como XSLT, XQuery y muchos lenguajes de programación.
🛣️ Sintaxis Básica de XPath
/
: Selecciona desde el nodo raíz.//
: Selecciona nodos en el documento desde el nodo actual que coinciden con la selección sin importar su ubicación..
: Selecciona el nodo actual...
: Selecciona el padre del nodo actual.@
: Selecciona atributos.
📌 Ejemplos de Expresiones XPath
/types
: Selecciona el elementotypes
que es el nodo raíz.//type
: Selecciona todos los nodostype
sin importar dónde estén en el documento./types/type[1]
: Selecciona el primer elementotype
bajo el nodo raíztypes
.//type[@name]
: Selecciona todos los elementostype
que tienen un atributoname
.//type[@name='exampleType']
: Selecciona todos los elementostype
cuyo atributoname
es igual aexampleType
./types/type/*
: Selecciona todos los nodos hijos del primertype
bajo el nodotypes
.//type[text()='specificValue']
: Selecciona todos los elementostype
que tienen un texto igual aspecificValue
.//type[flags/@count_in_cargo='0']
: Selecciona todos los nodostype
que tienen un subelementoflags
con un atributocount_in_cargo
igual a0
.
🎢 Funciones en XPath
text()
: Selecciona el texto del nodo actual.contains(text(),'some text')
: Selecciona nodos donde el texto contiene 'some text'.starts-with(@attr,'prefix')
: Selecciona nodos cuyo atributoattr
comienza con 'prefix'.count(//type)
: Devuelve la cantidad de elementostype
en el documento.name()
: Devuelve el nombre del nodo actual.
📂 Uso de XPath en XmlDocument
Cuando utilizas XmlDocument
en C#, puedes aplicar expresiones XPath utilizando los métodos SelectSingleNode
y SelectNodes
, como se muestra a continuación:
⚙️ Espacios de Nombres y XPath
Cuando utilizas XPath en documentos XML que tienen espacios de nombres, necesitas registrar estos espacios de nombres y utilizar los prefijos apropiados en tus expresiones XPath:
🛠️ Consejos de Depuración para XPath
Si una expresión XPath no selecciona ningún nodo, verifica que los nombres de elementos y atributos estén escritos correctamente.
Asegúrate de que los espacios de nombres estén registrados y usados correctamente si el XML los tiene.
Usa herramientas y extensiones en línea que permiten probar tus expresiones XPath contra tu XML para ver si seleccionan los nodos deseados.
XPath es una herramienta potente y flexible que, cuando se usa correctamente, puede hacer que la manipulación y consulta de documentos XML sea mucho más eficiente. Practica con diferentes expresiones y ve cómo afectan a la selección de nodos en tus documentos XML para familiarizarte más con su uso.
Última actualización