XPath - Definizione di nodi ed attributi
Articolo scritto da Luca Ruggiero
Pagina 1 di 2
Pagina 1 di 2
Introduzione ad XPath
XPath è un'estensione di XML indissolubilmente legata ad XSLT ed all'oggetto XMLDOM, il cui scopo è quello di recuperare nodi, Tag ed attributi di una struttura XML.
(L'articolo continua più sotto...)
');
Prendiamo una generica struttura XML di esempio creando un file di prova (dove ho inserito un elenco di amici che lavorano con me in qualità di docenti per il sito MRWCorsi.it) che potremmo chiamare mrwcorsi.xml
<?xml version="1.0"?>
<mrwcorsi>
<docente>
<nome id="1">Luca Ruggiero</nome>
<corso>ASP</corso>
</docente>
<docente>
<nome id="2">Giuseppina Pede</nome>
<corso>Visual Basic</corso>
</docente>
<docente>
<nome id="3">Claudio Garau</nome>
<corso>PHP</corso>
</docente>
<docente>
<nome id="4">Alessandro Alessandrini</nome>
<corso>Front Page 2000</corso>
</docente>
<docente>
<nome id="5">Emanuela Uttinacci</nome>
<corso>Dreamweaver MX</corso>
</docente>
<docente>
<nome id="6">Pierpaolo Romanelli</nome>
<corso>MS Access</corso>
</docente>
<docente>
<nome id="7">Riccardo Romito</nome>
<corso>Flash MX</corso>
</docente>
<docente>
<nome id="8">Roberto Franchini</nome>
<corso>ASP.NET</corso>
</docente>
<docente>
<nome id="9">Marco Petrillo</nome>
<corso>AutoCAD</corso>
</docente>
</mrwcorsi>
Per accedere via XSLT o via XMLDOM al nodo docente ed al Tag nome useremo una sintassi del tipo
docente/nomeoppure nella sua forma più completa
mrwcorsi/docente/nomepartendo dall'elemento root. Il simbolo slash (/) funge da separatore degli elementi; se inserito all'inizio del percorso vuol dire che stiamo partendo dall'elemento root.
Il percorso
mrwcorsi/docente/nomepuò quindi essere scritto anche utilizzando la seguente sintassi
/docente/nomeIn inglese path vuol dire letteralmente "percorso"; in definitiva XPath definisce il percorso di arrivo ai vari elementi della struttura XML, chiamato anche pattern.
Per recuperare l'attributo "id" della struttura XML presentata in precedenza, utilizzeremo la sintassi
mrwcorsi/docente/nome/@idLa chiocciola (@) indica che l'elemento che la segue è un attributo. Per risalire ad uno specifico nodo attraverso il recupero di un attributo, utilizzeremo la seguente sintassi
mrwcorsi/docente/nome/[@id=1]che recupera il nodo con id="1".







