XML zu Array mit PHP

Das Auslesen von XML ist mit PHP 5 extrem vereinfacht worden, hier eine Lösung um nach dem Auslesen einfach ein Array in PHP zur Verfügung zu haben.

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 6 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 );

Kommentare sind geschlossen.