Hobbycoder: xml CDATA

Beitrag lesen

Hi!

in dem fall kein problem, wenn da allerdings n üö oder anderes sonderzeichen drin ist bringt er natürlich fehlermeldungen...

Wer ist "er"? Und warum soll es natürlich sein, Fehlermeldungen zu bringen? In welcher Situation überhaupt und bei welchen Werten? Die Standard-Zeichenkodierung von XML ist UTF-8, damit kommen alle aktuellen Systeme sehr gut zurecht. Selbst PHP bietet in einigen Funktionen UTF-8-Support an.

ER ist natürlich mein brotkasten..und da ich kein profi bin ist es eine seiner hauptaufgaben fehlermeldungen zu bringen ;-)
nun, ich hab mir halt im netz n tutorial gesucht bei dem man xml dateien erstellt und da war 8859-1 angegeben was ich halt dann auch so übernommen habe.

Meine Frage ist nun, ist es irgendwie möglich die cdata "unberührt" zu lassen beim speichern?

Du meinst, ein CData-Element einzufügen - nicht mit SimpleXML. Dein Problem lässt sich jedoch ohne CData und mit UTF-8 lösen.

nur ist die frage wie, hab jetzt mein xml file geändert:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

sobald ich dann das cdata tag vor nem eintrag wegmache kommen wieder fehlermeldungen, zB:

language.xml:55: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xD6 0x66 0x66 0x6E in

Hab auch schon versucht sie nachträglich im speichervorgang durch:
$xmlobj[0]->{$xmlnode} = "<![CDATA[".htmlspecialchars($xmlvalue)."]]>"
wieder anzufügen, aber dann wandelt er mir die in der xml zu zB:
<deu>&amp;lt;![CDATA[Impressum]]&amp;gt;</deu>
würd mir ja schon genügen da n grüßer und n kleiner zeichen aus dem &amp;lt; zu bekommen...kriegs aber leider nicht hin...

Wenn du SimpleXML Werte übergibst, müssen diese im Rohformat sein. Die XML-gerechte Behandlung übernimmt es selbst.

sorry, aber weiß nicht im geringsten was dieser satz mir sagen soll :((
naja, auf jeden fall danke für die mühe...

Lo!