Wo liegt das problem beim "&"??
Hollabolla
- xml
0 AndreasW0 Hollabolla0 AndreasW
0 Thomas J.S.
Bitte helft mir!!!!
Ich habe eine XML-Datei die ich über PHP parse, den Inhalt modifiziere und anschließend wieder zurückschreibe, das klapt auch ohne probleme es sei den in dem text der zurückgeschrieben wird befindet sich ein "&". dann kriege ich die "not well-formed" meldung beim parsen und anzeigen. Da aber alle anderen sonderzeichen (öäü/"§"/§$ usw.) funktionieren verstehe ich das Problem nicht.
Die xml-datei ist mit ISO-8859-1 encoded, und ich hab auch schon versucht alle "&" durch & oder <[CDTA[&]]> zu ersetzen. ohne erfolg
Hallo,
Bitte helft mir!!!!
Ich habe eine XML-Datei die ich über PHP parse, den Inhalt modifiziere und anschließend wieder zurückschreibe, das klapt auch ohne probleme es sei den in dem text der zurückgeschrieben wird befindet sich ein "&". dann kriege ich die "not well-formed" meldung beim parsen und anzeigen.
s.u.
Da aber alle anderen sonderzeichen (öäü/"§"/§$ usw.) funktionieren verstehe ich das Problem nicht.
Die xml-datei ist mit ISO-8859-1 encoded, und ich hab auch schon
das erklärt, warum die Umlaute zulässig sind.
versucht alle "&" durch & oder <[CDTA[&]]> zu ersetzen. ohne erfolg
& hat in XML die Bedeutung, eine Character Entity einzuleiten. Daher muß es ersetzt werden.
& oder 0 sollten eigentlich genauso wie & funktionieren.
Der XML 1.0-Standard sagt dazu:
The ampersand character (&) and the left angle bracket (<) may appear in their literal form only when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section. If they are needed elsewhere, they must be escaped using either numeric character references or the strings "&" and "<" respectively. The right angle bracket (>) may be represented using the string ">", and must, for compatibility, be escaped using ">" or a character reference when it appears in the string "]]>" in content, when that string is not marking the end of a CDATA section.
Was steht denn in dem erzeugten File drin an den Stellen, wo Du ein & im Text hast? Wird dort irgendwas durch PHP schon ersetzt?
Andreas
erstmal danke...
Was steht denn in dem erzeugten File drin an den Stellen, wo Du ein & im Text hast? Wird dort irgendwas durch PHP schon ersetzt?
eigentlich nicht, ich experimentiere hier halt grade rum durch was ich es ersetzen könnte damit es klappt. dein Vorschlag () führt zu "XML error: reference to invalid character number at line 2"
und (0) führt dazu das er weder das "&" noch text der danachsteht anzeigt. aber er kann es parsen.
erstmal danke...
Bitte.
dein Vorschlag () führt zu "XML error: reference to invalid character number at line 2"
Mein Vorschlag war nicht , sondern &
Andreas
hallo,
& hat in XML die Bedeutung, eine Character Entity einzuleiten. Daher muß es ersetzt werden.
& oder 0 sollten eigentlich genauso wie & funktionieren.
48 ist wohl ein tippfehler!?
& ist &
Der XML 1.0-Standard sagt dazu:
http://www.w3.org/TR/2000/REC-xml-20001006#sec-predefined-ent
grüße
thomas