Qudus
07-04-2005, 13:36
hi
Ich habe mit PHP eine simple XML-Datei durch einfaches echo und anschließendem Speichern erstellt, in der ich so ungefähr Folgendes stehen habe:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bilder>
<bild>xxxxxxx</bild>
</bilder>
Wobei das xxxxxxxx durch den Inhalt einer jpeg-Datei ersetzt wird. Da das nicht gültig war, habe ich vor dem Speichern des Bildinhaltes diesen mit base64_encode() encodiert. Wenn ich nun die Datei im Texteditor öffne sieht alles genau so aus wie es das soll. Soweit also kein Problem.
Wenn ich aber die Datei mit expat parse, unterscheidet sich der Inhalt der jpeg-Datei.
Der Unterschied entsteht also beim interpretieren des Node-Values durch expat. Ich vermute nun, dass es etwas mit dem Zeichensatz zu tun hat. Gibt es dafür irgendeine Lösung. Muss ich vielleicht schon beim Schreiben der Datei irgendetwas beachten? Gibt es Techniken, um in XML-Dateien zu schreiben und dabei den ungültige Zeichen automatisch ersetzen zu lassen, so dass ich sie beim Lesen wieder im Originalzustand bekommen?
Ich komme einfach nicht weiter.
Qudus
Ich habe mit PHP eine simple XML-Datei durch einfaches echo und anschließendem Speichern erstellt, in der ich so ungefähr Folgendes stehen habe:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bilder>
<bild>xxxxxxx</bild>
</bilder>
Wobei das xxxxxxxx durch den Inhalt einer jpeg-Datei ersetzt wird. Da das nicht gültig war, habe ich vor dem Speichern des Bildinhaltes diesen mit base64_encode() encodiert. Wenn ich nun die Datei im Texteditor öffne sieht alles genau so aus wie es das soll. Soweit also kein Problem.
Wenn ich aber die Datei mit expat parse, unterscheidet sich der Inhalt der jpeg-Datei.
Der Unterschied entsteht also beim interpretieren des Node-Values durch expat. Ich vermute nun, dass es etwas mit dem Zeichensatz zu tun hat. Gibt es dafür irgendeine Lösung. Muss ich vielleicht schon beim Schreiben der Datei irgendetwas beachten? Gibt es Techniken, um in XML-Dateien zu schreiben und dabei den ungültige Zeichen automatisch ersetzen zu lassen, so dass ich sie beim Lesen wieder im Originalzustand bekommen?
Ich komme einfach nicht weiter.
Qudus