donroca: XML Datei interpretieren

Hallo,

Ich mache gerade die ersten Schritte mit XML.

Ich wuerde zum gerne eine XML-Datei in PHP einbinden und stelle mir folgendes Zusammenspiel vor:
In der XML-Datei steht zB.

<user>John Doe</user>
<ort>irgendwo</ort>

usw.

Die PHP-Datei soll die XML-Datei einlesen mit dem Ergebnis:

$user = "John Doe";
$ort = "irgendwo";

Die Variablen werden dann entsprechend zu HTML weiterverarbeitet.

Was mir fehlt, ist ein Tutorial mit Beispielen, wie man so eine Sache angeht. Es gibt natuerlich etliche Links auf Google, aber einen guten Einstieg konnte ich nicht finden. Kann mir jemand einen Tipp geben von der Sorte 'XML in PHP fuer Dummies'?

Dieter

  1. Hallo,

    Was mir fehlt, ist ein Tutorial mit Beispielen, wie man so eine Sache angeht. Es gibt natuerlich etliche Links auf Google, aber einen guten Einstieg konnte ich nicht finden. Kann mir jemand einen Tipp geben von der Sorte 'XML in PHP fuer Dummies'?

    Ein "XML in PHP fuer Dummies" gibt es nicht, aber du kannst dir die Code-Beispile vom folgendes Buch http://www.wrox.com/books/1861007213.htm frei herunterladen.
    Sonst muss du halt im Internet recherchieren.

    Grüße
    Thomas

  2. Hallo,

    Was mir fehlt, ist ein Tutorial mit Beispielen, wie man so eine Sache angeht. Es gibt natuerlich etliche Links auf Google, aber einen guten Einstieg konnte ich nicht finden. Kann mir jemand einen Tipp geben von der Sorte 'XML in PHP fuer Dummies'?

    Suche mal nach "DOM-XML" oder "libxml". Wenn Dein XML-Dokument (abc.xml) so aussieht:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <wurzel>
    <user>John Doe</user>
    <ort>irgendwo</ort>
    </wurzel>

    dann ergeben sich die gewuenschten Daten so:

    // XML-Daten einlesen
    $file="abc.xml";
    $fp=fopen($file,"r");
    $xml=fread($fp,filesize($file));
    fclose($fp);

    // XML-Baum abbilden
    $tree=xmltree($xml);

    // XML-Inhalte auslesen
    $user=$tree->children[0]->children[1]->children[0]->content;
    $ort=$tree->children[0]->children[3]->children[0]->content;

    Zeige vorher mal die Baumstruktur an (z. B. in <pre>...</pre> ausgeben):
    print_r($tree);

    Daraus ergibt sich dann das weitere Vorgehen auf Inhalte von Elementen und Attributen).

    MfG, Thomas