XML-Datei auslesen

  • Hallo zusammen,

    ich würde gerne eine XML-Datei auslesen und Teile des Inhalts ausgeben lassen.
    So fängt die XML an:

    Die Datei liegt nicht auf dem gleichen Server und muss daher immer live abgerufen werden. Ein einmaliger Import würde mir nicht helfen. Habt Ihr Lösungsansätze? Bei den Plugins habe ich bisher nichts gefunden.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

    • 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

  • Ok, hab eine Möglichkeit gefunden:

    PHP
    <?php
      $xml = new SimpleXMLElement('http://pfad-zur-xml.de/tabelle.xml', NULL, TRUE);
      echo $xml->asXML();
            ?>


    Alle weiteren Formatierungen habe ich über CSS gelöst.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Hatte es gestern nicht gelesen. Wenn Du nicht alle Daten benötigst, so gibt es unterschiedliche Möglichkeiten. Innerhalb von WP würde ich dann noch minimal esc_html() benutzen.

  • Super, vielen Dank. Das ist natürlich die bessere Variante. Hast Du noch eine Idee, wie ich das in UTF-8 ausgeben kann. Zur Zeit habe ich Probleme mit den Umlauten.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Ich hab es gefunden:

    PHP
    if ($daten->ort) echo "<li>Ort: " .utf8_decode($daten->ort). "</li>\n";


    wenn z. B. der Ort falsche Umlaute hat.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Ich dachte Du nimmst

    PHP
    if ($daten->ort) echo "<li>Ort: " .esc_html($daten->ort). "</li>\n";

    um die Ausgabe wenigstens etwas abzusichern. Hatte es nur außerhalb von WP getestet und konnte es deshalb nicht verwenden. esc_html ist definiert in wp-includes/formatting.php und enthält wp_check_invalid_utf8:

    PHP
    function esc_html( $text ) {
        $safe_text = wp_check_invalid_utf8( $text );
        $safe_text = _wp_specialchars( $safe_text, ENT_QUOTES );
        // ...
        return apply_filters( 'esc_html', $safe_text, $text );
    }


    Falls das nichts bringt, würde ich es dennoch zusätzlich einfügen. Für wichtig halte ich aber wp_specialchars mit ENT_QUOTES.

    PHP
    if ($daten->ort) echo "<li>Ort: " .esc_html(utf8_decode($daten->ort)). "</li>\n";

    Einmal editiert, zuletzt von Melewo (23. Juli 2014 um 20:23)

  • Danke für den Hinweis. Nur .esc_html($daten->ort) funktioniert nicht, daher muss ich noch utf8_decode mit rein nehmen. Hängt sicherlich auch vom verwendeten XML-Dokument ab.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

Jetzt mitmachen!

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