XML Datei mit PHP auslesen

  • Grüße

    Ich versuche mich zum ersten Mal an XML Dateien
    Hier gibt es zwar einige Beispiele, aber irgendwie komme ich nicht klar damit.

    Hier ist die XML-Datei:

    Zum Testen wolle ich erst einmal nur die "plz" ausgeben.

    Hier die PHP Datei:

    PHP
    <?php
    $xmlstr = 'Export_20210823.xml';
    
    
    $str = new SimpleXMLElement($xmlstr);
    
    
    echo $str->opener->anbieter->haus->detail->plz;
    ?>

    Leider bekomme ich ein Error:
    Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found in C:\xampp\htdocs\xml_tests\ausgabe_xml_file3.php on line 4


    Was mache ich falsch?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Liegt die php Datei im selben Verzeichnis wie die xml Datei?

    Ansonsten gerne mal folgenden Code testen, natürlich mit den richtigen Namen Ihrer XML Datei und den passenden Daten

  • Guten Morgen

    Ja, die xml-Datei liegt im selben Ordner.

    Da das noch ein wenig neu für mich ist, weiß ich nicht so recht, wie ich dein Code anpassen soll.
    Erstmal hat er nicht gemeckert, das die Datei nicht gefunden wird. Ausgabe geht ja nicht, da ich nicht weiß wie ich das anpassen muss.

  • Du versuchst, die XML-Datei direkt in eine Variable zu schreiben, so wie du es machst, steht da aber nur der Dateiname und nicht der Inhalt der Datei drin:

    Code
    $xmlstr = 'Export_20210823.xml;

    Versuch stattdessen mal folgendes:

    Code
    $xmlstr = simplexml_load_file("Export_20210823.xml");
  • Hey

    Ich habe es ersetzt und bekomme folgende Fehlermeldung

    Warning: simplexml_load_file(): I/O warning : failed to load external entity "Export_20210823.xml" in E:\xampp\htdocs\xml_tests\ausgabe_xml_file3.php on line 3

    Fatal error: Uncaught Exception: String could not be parsed as XML in E:\xampp\htdocs\xml_tests\ausgabe_xml_file3.php:5 Stack trace: #0 E:\xampp\htdocs\xml_tests\ausgabe_xml_file3.php(5): SimpleXMLElement->__construct('') #1 {main} thrown in E:\xampp\htdocs\xml_tests\ausgabe_xml_file3.php on line 5

  • Genau kannst du es nur prüfen, wenn du eine DTD hast.

    Bau dir doch mal eine ganz simple XML-Datei zum testen und schau, ob es damit funktioniert.

    Alternativ kannst du auch deine XML-Datei hier hochladen.

  • Ich habe herausgefunden, wie es funktioniert.

    Code
    $opener = simplexml_load_file("Export_20210823.xml");
    echo $opener->anbieter->haus[0]->detail->plz;

    Danke für die Anregungen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!