XML e XPath

Cos'è XPath?

XPath È un elemento principale dello standard XSLT.

XPath può essere utilizzato per localizzare (navigare) elementi e attributi in un documento XML.

XPath

XPath
  • XPath è utilizzato per definire la sintassi delle parti di un documento XML
  • XPath utilizza espressioni di percorso per navigare in un documento XML
  • XPath contiene una libreria di funzioni standard
  • XPath è un elemento principale in XSLT e XQuery
  • XPath è uno standard raccomandato dal W3C

Espressioni di percorso XPath

XPath utilizza espressioni di percorso per selezionare nodi o insiemi di nodi in un documento XML. Queste espressioni di percorso assomigliano molto a quelle che vedi quando utilizzi un sistema di file tradizionale su un computer.

Espressioni XPath possono essere utilizzate in JavaScript, Java, XML Schema, PHP, Python, C e C++ e molti altri linguaggi.

XPath è utilizzato in XSLT

XPath è un elemento principale dello standard XSLT.

Comprendendo XPath, potrai sfruttare al massimo XSL.

Esempio XPath

Utilizzeremo il seguente 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>

Nella tabella sottostante, elenchiamo alcune espressioni XPath e i loro risultati:

Espressione XPath Risultato
/bookstore/book[1] Seleziona il primo elemento book che è figlio dell'elemento bookstore.
/bookstore/book[last()] Seleziona l'ultimo elemento book che è figlio dell'elemento bookstore.
/bookstore/book[last()-1] Seleziona il secondo elemento book in ordine decrescente che è figlio dell'elemento bookstore.
/bookstore/book[position()<3] Seleziona i primi due elementi book che sono figli dell'elemento bookstore.
//title[@lang] Seleziona tutti gli elementi title che hanno un attributo di nome "lang".
//title[@lang='en'] Seleziona tutti gli elementi title che hanno l'attributo "lang" con il valore "en".
/bookstore/book[price>35.00] Seleziona tutti gli elementi book all'interno dell'elemento bookstore con il valore dell'elemento price maggiore di 35.00.
/bookstore/book[price>35.00]/title Seleziona tutti gli elementi title che contengono l'elemento book dell'elemento bookstore con un valore dell'elemento price maggiore di 35.00.

Manuale del XPath

Imparerai informazioni su XPath Altri dettagli.