Ankündigung

Einklappen
Keine Ankündigung bisher.

DOMDocument, Fehler einlesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DOMDocument, Fehler einlesen

    Hallo,

    weiß jemand wie ich beim Parsen einer XML-Datei mit DOMDocument eine Fehlernachricht bekommen kann, wenn etwas fehlgeschlagen ist? DOMDocument->laodXML() gibt ja nur false zurück. Ich suche etwas in der Richtung wie bei der LibXML mit libxml_get_errors. Eigentlich basiert DOMDocument ja auf LibXML aber das hat bei mir nicht funktioniert:
    PHP-Code:
    <?php
    $xmlstr 
    '<?xml ....fehler ?>';
    $dom = new DOMDocument();
    if (@
    $dom->loadXML($xmlstr) == false)
    {
    $errs libxml_get_errors();
    foreach (
    $errs as $err)
    {
    echo 
    $err->message;
    }
    }
    ?>
    Die PHP-Klassen-Dokumentation ist meiner Meinung nach auch nicht besonders gelungen, aber vielleicht kommt das ja noch. Ich hab das auch schon mal geschafft, weiß aber leider nicht mehr wie. Vielleicht steh ich auch ja auf'm Schlauch.

    Vielen Dank vorab.


  • #2
    AW: DOMDocument, Fehler einlesen

    PHP-Code:
    <?php
      $xsltref
    =xslt_create();
      
    $ergebnis=xslt_process($xsltref,"bla.xml","bla.xsl");
      if(
    $ergebnis)
      {
    $ergebnis str_replace(array("ä""ö""ü""ß""Ä""Ö""Ü""<br>"), array("&auml;""&ouml;""&uuml;""&szlig;""&Auml;""&Ouml;""&Uuml;""<br />"), $ergebnis);
        print 
    $ergebnis;
      }
      else
      {
        print 
    "Fehler: ".xslt_error($xsltref);
      }
      
    xslt_free($xsltref);
    ?>
    Ich habe dieses Script bei den Vertretungsplänen eingesetzt. Da eine unterschiedliche Kodierung vorhanden ist, habe ich alle Umlaute mit dem HTML-Code für Umlaute ersetzt.

    EDIT:

    Ich sehe gerade, du willst bestimmt was anderes, oder?

    Kommentar


    • #3
      AW: DOMDocument, Fehler einlesen

      Tag, eigentlich wollte ich eine Funktion, die eine verständliche Fehlermeldung beim Parsen einer XML-Datei mit DOMDocument ausgibt, falls denn ein Fehler enstanden ist.

      Kommentar


      • #4
        AW: DOMDocument, Fehler einlesen

        PHP-Code:
        <?php
        $xmlstr 
        '<?xml ....fehler ?>';
        $dom = new DOMDocument();
        if (
        $dom->loadXML($xmlstr) == false)
        {
        $errs libxml_get_errors();
        foreach (
        $errs as $err)
        {
        echo 
        $err->message;
        }
        }
        ?>
        ohne @ -> loadXML wirft E_WARNING bei fehler

        http://www.ifyouwantblood.de/test/domxmlerror.php5

        verständlicher gehts nicht.
        Zuletzt geändert von Brian; 27.09.2007, 11:57.
        AC/DC Fanpage www.ifyouwantblood.de
        Nein zur Zensur im Internet und anderswo - Anonymous

        Kommentar


        • #5
          AW: DOMDocument, Fehler einlesen

          Hi,
          was wundert Dich das, wenn Du <node> öffnest und </nonode> schließt?
          In xml muss jeder Tag auch wieder geschlossen werden und ein nicht geöffneter Tag kann natürlich auch nicht geschlossen werden.

          Gruß
          Ingo
          Ingo Webdesign

          Kommentar


          • #6
            AW: DOMDocument, Fehler einlesen

            Zitat von Ingo Beitrag anzeigen
            Hi,
            was wundert Dich das, wenn Du <node> öffnest und </nonode> schließt?
            In xml muss jeder Tag auch wieder geschlossen werden und ein nicht geöffneter Tag kann natürlich auch nicht geschlossen werden.

            Gruß
            Ingo
            ich wollte doch nur zeigen, dass DOMDocument::loadXML() (verständliche) E_WARNING's bei fehlern wirft...
            Zuletzt geändert von Brian; 28.09.2007, 12:38.
            AC/DC Fanpage www.ifyouwantblood.de
            Nein zur Zensur im Internet und anderswo - Anonymous

            Kommentar

            homepage-forum.de - Hilfe für Webmaster! Statistiken

            Einklappen

            Themen: 56.933   Beiträge: 431.211   Mitglieder: 28.702   Aktive Mitglieder: 44
            Willkommen an unser neuestes Mitglied, sukhdevscatering.

            Online-Benutzer

            Einklappen

            210 Benutzer sind jetzt online. Registrierte Benutzer: 5, Gäste: 205.

            Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

            Die neuesten Themen

            Einklappen

            Die neuesten Beiträge

            Einklappen

            • Megabyte
              mySQL ORDER BY mit Umlauten
              Wenn man auf meiner Seite bei der Auswahl 'Suche' die Kategorie 'Land' auswählt und dort nach 'Deutschland' sucht erfolgt eine Auflistung der Filme die mindestens einen Drehort in Deutschland hatten. So weit do gut...

              Wenn man nun bis ans Ende scrollt erscheint dort der Film "Zweiohrküken"...
              Heute, 00:50
            • arnego2
              Antwort auf mySQL ORDER BY mit Umlauten
              Wenn das alles so klappt warum ist dir die Ordnung so wichtig?
              Heute, 17:18
            • Megabyte
              Antwort auf mySQL ORDER BY mit Umlauten
              Hallo Sempervivum

              Danke für deinen Beitrag. Das wäre sicherlich ein begehbarer Weg. Fühlt sich aber immer noch irgendwie an wie "durch den Rücken in die Brust geschossen". Aber scheinbar lässt sich diese Aufgabe nicht mit einer einzigen Direktive elegant lösen. Wenn es daher...
              Heute, 16:38
            • Sempervivum
              Antwort auf mySQL ORDER BY mit Umlauten
              Wenn es nicht gerade hunderttausende von Datensätzen sind würde ich auf eine Sortierung mit PHP und einem Callback setzen, also usort. Dann kannst Du in der Vergleichsfunktion die Strings in eine Form bringen, die für den Vergleich geeignet ist und brauchst diese nirgends zu speichern, also die Redundanz...
              Heute, 16:18
            • Megabyte
              Antwort auf mySQL ORDER BY mit Umlauten
              Hallo arnego2

              Danke für die Rückmeldung, aber hilft hier nicht :-)

              Ich habe keinerlei Probleme mit der Darstellung von Umlauten. Alle Umlaute werden sowohl in phpMyAdmin als auch im Frontend exakt dargestellt. Dafür wurde mittels diversen utf-8 Direktiven gesorgt. Keine...
              Heute, 15:53
            • arnego2
              Antwort auf mySQL ORDER BY mit Umlauten
              Bei mir hat die .my.cnf Methode funktioniert.

              https://stackoverflow.com/questions/...sql-phpmyadmin
              Heute, 14:41
            • Dekson
              Antwort auf Neuer Drucker?
              Morgen

              Hattest du dich denn entschieden zu einem Drucker?
              Ich muss ja sagen, dass es wirklich unterschiedliche Hersteller und Modelle gibt, man sollte einfach schauen, welchen man gebrauchen kann bzw. welcher die Voraussetzungen erfüllt.
              Ich zum Beispiel habe mich nach Zubehör...
              Heute, 05:58
            • Megabyte
              Antwort auf Bitcoin-Board.de - Deutschsprachiges Bitcoin & Altcoin Forum
              Ich mag Bitcoins ebenso wenig. Bitcoins öffnen dubiosen Machenschaften Tür und Tor. Außerdem sind wegen dem Schrott gute Grafikkarten exorbitant teuer geworden bzw. gar nicht mehr erhältlich :-)
              Gestern, 22:09
            • Megabyte
              Antwort auf HomeOffice
              Bin bei Localfu (auch aus Erfahrung)

              Die zu erwartende Arbeitsergebnisse sind vorab klar festzuhalten und mit einer realistischen Zeitschiene zu versehen. Wenn z.B. ein Konstrukteur zu Hause an einem CAD-System ein Bauteil entwickeln soll so erwartet man dann Ergebnisse in 14 Tage (Beispiel...
              Gestern, 22:00
            • Nightland Driver
              Mysql id anhand des nutzers auslesen und nächste/letzte erhalten?
              Hey, ich habe ein kleines Logik Problem und wollte mal fragen ob mir jemand dabei helfen kann.

              Ich mag aus meiner Datenbank eine Nachricht auslesen. Diese hat folgende werte [id, user_id, text].
              Nun rufe ich anhand der id [5] die nachricht von dem Benutzer [2] auf. Dieser Benutzer...
              23.09.2021, 17:00
            Lädt...
            X