XML zu Array mit PHP

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 11 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

Im Bezug auf das Importieren von Daten wird nicht selten auf XML gesetzt und im Anschluss muss ein Array an WordPress übergeben werden, welches in die Datenbank übergibt. Im Umfeld von Optionen in WordPress ist das gern genutzt.
Um nach dem Parsen von XML ein Array in PHP zu bekommen, findet man immer wieder diverse Threads und Fragen. Im folgenden daher ein einfache und schnelle Lösung, die seit PHP 5 wunderbar funktioniert.


// only for errors an parse
$filename = preg_replace( 
    "/\<\!\[CDATA\[(.*?)\]\]\>/ies",
    "'[CDATA]' . base64_encode('$1') . '[/CDATA]'",
    $filename
);
// load xml file
$xml      = simplexml_load_string( $filename );
$json     = json_encode( $xml );
$options  = json_decode( $json, TRUE );
// see result
var_dump( $options );

// update in WordPress
update_option( 'my_settings_id', $options );

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.