XML y XPath
¿Qué es XPath?
XPath es un elemento importante en el estándar XSLT.
XPath se puede utilizar para navegar a través de elementos y atributos en un documento XML.
|
Expresiones de ruta XPath
XPath usa expresiones de ruta para seleccionar nodos o conjuntos de nodos en un documento XML. Estas expresiones de ruta se parecen mucho a las expresiones que ve cuando trabaja con un sistema de archivos de computadora tradicional.
Las expresiones XPath se pueden usar en JavaScript, Java, XML Schema, PHP, Python, C y C++, y muchos otros lenguajes.
XPath se usa en XSLT
XPath es un elemento importante en el estándar XSLT.
Con el conocimiento de XPath, podrá aprovechar al máximo XSL.
Ejemplo de XPath
Usaremos el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
En la siguiente tabla, hemos enumerado algunas expresiones XPath y el resultado de las expresiones:
XPath Expression | Result |
---|---|
/bookstore/book[1] | Selects the first book element that is the child of the bookstore element |
/bookstore/book[last()] | Selects the last book element that is the child of the bookstore element |
/bookstore/book[last()-1] | Selects the last but one book element that is the child of the bookstore element |
/bookstore/book[position()<3] | Selects the first two book elements that are children of the bookstore element |
//title[@lang] | Selects all the title elements that have an attribute named lang |
//title[@lang='en'] | Selects all the title elements that have a "lang" attribute with a value of "en" |
/bookstore/book[price>35.00] | Selects all the book elements of the bookstore element that have a price element with a value greater than 35.00 |
/bookstore/book[price>35.00]/title | Selects all the title elements of the book elements of the bookstore element that have a price element with a value greater than 35.00 |
Tutorial XPath
Aprenderá mucho más sobre XPath en nuestro Tutorial de XPath .