XML e XPath
Cos'è XPath?
XPath è un elemento importante nello standard XSLT.
XPath può essere utilizzato per navigare tra elementi e attributi in un documento XML.
|
Espressioni del percorso XPath
XPath utilizza le espressioni di percorso per selezionare nodi o set di nodi in un documento XML. Queste espressioni di percorso assomigliano molto alle espressioni che vedi quando lavori con un file system di un computer tradizionale.
Le espressioni XPath possono essere utilizzate in JavaScript, Java, XML Schema, PHP, Python, C e C++ e molti altri linguaggi.
XPath è usato in XSLT
XPath è un elemento importante nello standard XSLT.
Con la conoscenza di XPath sarai in grado di trarre grandi vantaggi da XSL.
Esempio XPath
Utilizzeremo il seguente 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>
Nella tabella seguente abbiamo elencato alcune espressioni XPath e il risultato delle espressioni:
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 |
Esercitazione XPath
Imparerai molto di più su XPath nel nostro Tutorial XPath .