Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Probleme mit PHP xml_parse() [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Probleme mit PHP xml_parse()


 
squirrelcgn
05-09-2007, 22:07 
 
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

 
kapitaeniglo
05-09-2007, 22:55 
 
ALso bei HTML/XHTML ist das & ein Sonderzeichen

ersetz es mal durch &amp;

 
squirrelcgn
05-09-2007, 23:45 
 
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

 
squirrelcgn
06-09-2007, 00:24 
 
Juchuuuuuuu! :-) Ich hab's! :-)

Habe einfach an verschiedenen Stellen

$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

 
PHP-Desaster
06-09-2007, 00:24 
 
ein &-Zeichen in einer XML-Datei ist nicht erlaubt, da ein &-Zeichen eine XML-Entität einleitet! Der Parser verhält sich also korrekt!

 
squirrelcgn
06-09-2007, 00:27 
 
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

 
kapitaeniglo
06-09-2007, 00:35 
 
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

 
kapitaeniglo
06-09-2007, 00:37 
 
hi

hab sogar eben den link von selfhtml dazu gefunden :

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:29 Uhr.