Accesso e confronto tra elementi con SimpleXML

12/10/2006

L'utilizzo della funzione simplexml_load_string() ci permette non soltanto di accedere in lettura agli elementi di un documento XML e alle sue proprietā, ma consente inoltre di accedere agli attributi degli elementi.

Nel nostro file XML d'esempio, "test.php", abbiamo all'interno dei nodi "<data>" due differenti "type", uno riferito alla datazione nostrana, "it", un altro relativo alla datazione anglossassone "uk"; simplexml_load_string() potrā in questo caso essere utilizzata per accedere ai diversi contenuti dei "type":

<?php
include 'test.php';
$xml = simplexml_load_string($doc_xml);
foreach ($xml->articolo[0]->data as $data)
{
  switch((string) $data['type'])
  { 
    case 'it':
      echo 'Data italiana: '.$data. "<br />";
      break;
    case 'uk':
      echo 'Data inglese: '.$data. "<br />";
      break;
  }
}
?>
Da cui la stampa a video di:
Data italiana: 21 08 06
Data inglese: 06 08 21
Nello stesso modo, la funzione simplexml_load_string() potrā essere utilizzata per effettuare confronti tra elementi, o attributi, e stringhe:
<?php 
include 'test.php';
$xml = simplexml_load_string($doc_xml);
if ((string) $xml->articolo->titolo == 'Guida a XML')
{
  echo 'Rilevato!';
}
htmlentities((string) $xml->articolo->titolo);
?>
Da notare innanzitutto come venga specificato il valore stringa (string) del termine di confronto, in secondo luogo vā sottolineata l'introduzione della funzione htmlentities(), che converte tutti i possibili caratteri in entitā HTML a cui viene passata come argomento la stringa per il confronto.

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.

© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Stampa :: Torna alla Home