XML 和 XPath

¿Qué es XPath?

XPath Es un elemento principal en el estándar XSLT.

XPath se puede usar para localizar (navegar) elementos y atributos en un documento XML.

XPath

XPath
  • XPath se utiliza para definir la sintaxis de las diferentes partes de un documento XML
  • XPath utiliza expresiones de ruta para navegar en un documento XML
  • XPath contiene una biblioteca de funciones estándar
  • XPath es un elemento principal en XSLT y XQuery
  • XPath es un estándar recomendado por W3C

Expresiones de ruta XPath

XPath utiliza expresiones de ruta para seleccionar nodos o conjuntos de nodos en un documento XML. Estas expresiones de ruta se ven muy similares a las expresiones que ves al usar un sistema de archivos de computadora tradicional.

Expresiones XPath se pueden usar en JavaScript, Java, XML Schema, PHP, Python, C y C++ y muchos otros lenguajes.

XPath se utiliza en XSLT

XPath es un elemento principal del estándar XSLT.

Al comprender XPath, puedes aprovechar al máximo XSL.

XPath 实例

Vamos a usar el siguiente documento XML:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="美食">
  <title lang="zh">雅舍谈吃</title>
  <author>梁实秋</author>
  <year>2013</year>
  <price>35</price>
</book>
<book category="儿童">
  <title lang="zh">了不起的狐狸爸爸</title>
  <author>罗尔德·达尔</author>
  <year>2009</year>
  <price>10.00</price>
</book>
<book category="文学">
  <title lang="zh">将熟悉变为陌生</title>
  <author>齐格蒙·鲍曼</author>
  <author>彼得·哈夫纳</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="政治">
  <title lang="zh">论美国的民主</title>
  <author>托克维尔</author>
  <year>1989</year>
  <price>60.00</price>
</book>
</bookstore>

En la siguiente tabla, se enumeran algunas expresiones XPath y sus resultados:

Expresiones XPath Resultados
/bookstore/book[1] Seleccione el primer elemento de book que sea subelemento del elemento bookstore.
/bookstore/book[last()] Seleccione el último elemento de book que sea subelemento del elemento bookstore.
/bookstore/book[last()-1] Seleccione el segundo elemento de book que sea subelemento del elemento bookstore en orden inverso.
/bookstore/book[position()<3] Seleccione los dos primeros elementos de book que sean subelementos del elemento bookstore.
//title[@lang] Seleccione todos los elementos de title que tengan un atributo llamado lang.
//title[@lang='en'] Seleccione todos los elementos de title que tengan el atributo "lang" con el valor "en".
/bookstore/book[price>35.00] Seleccione todos los elementos de book dentro del elemento bookstore que tengan un valor de atributo price mayor a 35.00.
/bookstore/book[price>35.00]/title Seleccionar todos los elementos title que tienen un valor de elemento price mayor que 35.00 dentro de los elementos book del elemento bookstore.

Tutorial de XPath

Aprenderás sobre XPath más información.