Probleme mit PHP xml_parse()

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

  • Probleme mit PHP xml_parse()

    Hallo zusammen,

    sitze hier an einem Parser, und stehe vor einem (wahrscheinlich) kleinen Problem, was ich aber einfach nicht gelöst bekomme!

    Ich verwende die Funktion xml_parse() um eine XML-Datei einzulesen. Dabei kann es vorkommen, dass manche Tags so aussehen:
    <AUTHOR>Heinz &amp; Peter</AUTHOR>

    Unerklärlicherweise "hackt" der Parser ab dem &amp; alles ab, also sähen die cdata für den obigen AUTHOR-Tag so aus: "Heinz ". Man sieht, dass er sogar noch das Leerzeichen parst, aber dann abbricht.

    Ich weiß nicht weiter!?!?! Hilfe!!

    Danke und Grüße,
    Chris

  • #2
    ALso bei HTML/XHTML ist das & ein Sonderzeichen

    ersetz es mal durch &amp;

    Kommentar


    • #3
      Ja klar, dann funzt es........

      Aber das löst mein Problem nicht! ;-) Ich kann ja eben NICHT die Ausgangsdateien verändern (und möchte es auch nicht)! Das würde irgendwie dem Sinn eines Parsers entgegenstehen!?

      Das Problem muss doch irgendwie in den Griff zu bekommen sein.

      Die Frage ist doch: was passiert in dem Moment, in dem der XML-Parser auf das "&"-Zeichen trifft, oder? Wenn ich das wüsste, könnte ich vermutlich an genau dieser Stelle das Problem beheben....

      Danke und Grüße,
      Chris

      Kommentar


      • #4
        Juchuuuuuuu! :-) Ich hab's! :-)

        Habe einfach an verschiedenen Stellen

        PHP-Code:
        $data str_replace("&amp;""kuckuck"$data); 
        probiert und ... es klappt! :-) Warum ist mir jetzt auch egal, obwohl es mich ein wenig wundert! ;-)

        Nochmal vielen Dank und Grüße,
        Chris

        Kommentar


        • #5
          ein &-Zeichen in einer XML-Datei ist nicht erlaubt, da ein &-Zeichen eine XML-Entität einleitet! Der Parser verhält sich also korrekt!

          Kommentar


          • #6
            Ja genau! Ich könnte natürlich die XML-Datei modifizieren und Entitäten definieren, aber das will, kann und darf ich nicht! ;-)

            Grüße,
            Chris

            Kommentar


            • #7
              hi

              wie ich schon in meinem ersten posting schreiben wollte.

              ersetze & durch & amp; (zusammengeschrieben)

              http://www.devtrain.de/printnews.aspx?artnr=296

              da stehts. und weil es ein sonderzeichen in XML ist bricht er ab. Diese muessen, wenn sie verwendet werden anders dargestellt werden.
              Sonst hat man eine nicht korrekte XML- Datei

              Kommentar


              • #8
                hi

                hab sogar eben den link von selfhtml dazu gefunden :

                http://de.selfhtml.org/xml/regeln/zeichen.htm

                Kommentar

                Lädt...
                X