14.14 XML-Dokumente in PHP-Arrays oder Objekte einlesen

Problem

Sie möchten ein XML-Dokument in PHP-Arrays oder Objekte einlesen, ohne sich mit einer der XML-Erweiterungen befassen zu müssen.

Lösung

Verwenden Sie die Klasse XML_Unserializer des PEAR-Pakets XML_Serializer.

require_once 'XML/Unserializer.php';

$xml = <<<EOD
<shows>
    <show>
        <name>Simpsons</name>
        <kanal>FOX</kanal>
        <beginn>20:00</beginn>
        <dauer>30</dauer>
    </show>
    <show>
        <name>Law &amp; Order</name>
        <kanal>NBC</kanal>
        <beginn>20:00</beginn>
        <dauer>60</dauer>
    </show>
</shows>
EOD;

$unserializer = new XML_Unserializer();
$success = $unserializer->unserialize($xml);
if (PEAR::isError($success)) {
    die($success->getMessage());
}
$data = $unserializer->getUnserializedData();

print_r($data);

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.