Analizator PHP SimpleXML. Funcția simplexml_load_string(). Utilizați funcția simplexml_load_string() pentru a citi datele XML dintr-un string. Utilizați funcționalitatea libxml pentru a prelua toate erorile XML la încărcarea documentului.
Partajeaza in Google Classroom
Memorator: Descriere video Descarcă PDF
Exemplul de mai jos arată cum să utilizați funcția simplexml_load_string() pentru a citi datele XML dintr-un șir (string):
Exemplu
<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Popescu</to>
<from>Ioana</from>
<heading>Reminder</heading>
<body>Nu uitați de mine în acest weekend!</body>
</note>";
$xml=simplexml_load_string($myXMLData) or die("Eroare: Nu se poate crea obiectul");
print_r($xml);
?>
Rezultatul codului de mai sus va fi:
SimpleXMLElement Object ( [to] => Popescu [from] => Ioana [heading] => Reminder [body] => Nu uitați de mine în acest weekend! )
Sfat de gestionare a erorilor: Utilizați funcționalitatea libxml pentru a prelua toate erorile XML la încărcarea documentului și apoi repetați erorile.
Următorul exemplu încearcă să încarce un șir (string) XML rupt:
Exemplu
<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>Ion Popescu</wronguser>
<email>[email protected]</wrongemail>
</document>";
$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
echo "Încărcarea XML a eșuat: ";
foreach(libxml_get_errors() as $error) {
echo "<br>", $error->message;
}
} else {
print_r($xml);
}
?>
Rezultatul codului de mai sus va fi:
Încărcarea XML a eșuat:
Nepotrivirea etichetelor de deschidere și incheiere (opening și ending) : linia de utilizator 3 și utilizator greșit (user line 3 and wronguser)
Nepotrivirea etichetelor de deschidere și incheiere (opening și ending): linia de e-mail 4 și e-mail greșit (email line 4 and wrongemail)