SimpleXML mit PHP 4

Die Zeiten ändern sich.

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

Das Einlesen von XML-Dokumenten ist mit PHP 5 eine wahre Freude und die Programmierung macht Spaß. Leider ist dieser Komfort unter PHP 4 nicht gegeben.
Sicher ist der Trend zu PHP 5, aber leider interessiert das nicht alle Hoster und Anwender und daher muss man doch des öfteren unter PHP 4 arbeiten.

Natürlich gibt es eine ganze Reihe von Tools, die einem die Arbeit erleichtern und die Verarbeitung von XML ermöglichen. Aber auch da gibt es große Unterschiede und nicht immer ist das Ergebnis befriedigend.
WordPress beispielsweise nutzt MagpieRSS und nicht immer ist die Ausgabe wie erwünscht. Alternative SimplePie ist da schon flexibler. Aber auch dann muss mehr programmiert werden. Mit SimpleXML unter PHP 5 ist es einfach und flexibel.

Die SimpleXML-Extension bietet ein besonders einfaches und leicht zu handhabendes Toolset, um XML in ein Objekt zu konvertieren, das mit normalen Eigenschafts-Selektoren und Array-Iteratoren bearbeitet werden kann.
php.net: SimpleXML

Nun gibt es die Klasse „SimpleXML for PHP 4“, die eingebunden, steht SimpleXML auch unter PHP 4 bereit und erleichtert die Arbeit. Schöne Umsetzung mit einer 2 kByte großen Klasse. Damit wird die Alternative, wenn kein PHP 5 vorliegt, angenehm.

Die Nutzung ist denkbar einfach.


<?php
require_once 'simplexml.class.php';

$file = 'https://bueltge.de/feed';
$sxml = new simplexml;
$data = $sxml->xml_load_file($file);

print_r($data);
?>
Veröffentlicht am
Kategorisiert in Code, PHP, XML Verschlagwortet mit ,

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.

19 Kommentare

  1. Thanks so much. I have updated the class file in phpclasses.org so users can now access the array elements like this:

    $result->var1->child[3]->content;

    but if the user wants to access the element like array style, a little setting must be applied now;

    $sx = xml_load_file($url,"array");

    this returns the result as an array.

    And please, if someone finds an error in this class, don't hesitate to ask me or write it to the discussion forum in my class page.

    Thank you.

Kommentare sind geschlossen.