XPath ci permette di effettuare delle interrogazioni (query) su di un documento XML, un pò come SQL per i database, ma attenzione, XPath non è un linguaggio ma più propriamente un metodo.
Nell'esempio seguente, vedremo un breve script utilizzabile per accedere a tutti i contenuti relativi al nodo "<informazioni>" e cioè "<autore>" e "<argomento>":
<?php
include 'test.php';
$xml = simplexml_load_string($doc_xml);
foreach ($xml->xpath('//informazioni') as $informazioni)
{
echo $informazioni->autore, ' Autore di: ',
$informazioni->argomento, '<br />';
}
?>
L'output generato in seguito al test del listato appena proposto sarà il seguente:
Eliox, autore di: PHP e SimpleXML
Luke, autore di: XML in PHP e ASP
Da notare l'utilizzo di "//" quale wilcard che dovrà essere invece semplicemente "/" nel caso in cui si vogliano specificare percorsi assoluti.
Naturalmente, non sarà possibile concludere il nostro discorso sul parsing di documenti XML con SimpleXML senza prima proporre un esempio di manipolazione dei contenuti come per esempio il settaggio di nuovi valori:
<?php
include 'test.php';
$xml = simplexml_load_string($doc_xml);
$xml->articolo[0]->info->informazioni[0]->autore = 'Elios';
echo $xml->asXML();
?>
L'output dello script mostrerà a video tutti i contenuti dei nodi indicati con una differenza, il contenuto del primo nodo "<autore>", "Eliox", verrà modificato in "Elios"; SimpleXMLElement->asXML consente di generare una stringa basata su un elemento SimpleXML.
Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.
|