Autor Beitrag
mexx
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Fr 18.08.06 14:56 
Ich verwende folgenen Code um den Inhalt einer XML-Datei zu schreiben.

ausblenden Delphi-Quelltext
1:
2:
 knoten := xmldoc.ChildNodes[RootNode].ChildNodes[ChildNode_1].AddChild(ChildEintrag);
 knoten.Text := ChildWert;


ChildWert ist das Value eines Field in einer Datenbank. Nun trifft aber der Falle ein, dass das Value welches ein String ist so aussieht.

abc/123

Der Slash wird beim Schreiben in die XML zurückgewiesen. Sicherlich weil der Parser der XML dieses Zeichen zum Interpretieren der Struktur verwendet.

Wie kann ich das lösen?

_________________
Das Unsympathische an den Computern ist, dass sie nur ja oder nein sagen können, aber nicht vielleicht.
ManniTwo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 46

Win XP SP III, Ubuntu 8.04, Debian 5.0
Delphi 5 Pro; Delphi 2005; C++,C# (VS 2005); Java, Ruby (Eclipse)
BeitragVerfasst: Fr 18.08.06 19:03 
hmm....also eigentlich ist IMHO doch aber der Slash an sich als Zeichen in einer XML-Datei erlaubt.
Wenn Schreiben absolut nicht geht, wäre meine Idee jetzt, dass du den Slash kodierst. Dann kommt es natürlich darauf an, wer mit der Datei weiterarbeitet. Wenn du es selber bist, sollte es kein Problem sein.

Es ist natürlich immer sinnvoll sich bei solchen Kodierungen an bestehenden Standards zu orientieren. Du könntest einen Slash also als: & # 47 ; kodieren, weil dann stellt jeder gängige Browser an der Stelle schon mal einen Slash dar. ( du musst dir da natürlich die leerzeichen wegdenken, aber wenn ich es ohne leerzeichen tippe, dann wird es auch in meinem Posting als "/" dargestellt.

_________________
Wer andern eine Bratwurst brät, der hat ein Bratwurst-Brat-Gerät, oder anders:
ausblenden Delphi-Quelltext
1:
if Self.BraetAndernEineBratwurst then Self.HasBratwurstBratGeraet := true;					
mexx Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Sa 19.08.06 19:49 
Ich habe den Fehler gefunden und beseitigt. Die von Dir erwähnte Methode, um das Slash reinzuschreiben, wird aber nur sinnvoll, wenn man die XML von einem Browser interpretieren lassen will. Für die Interpretation des Slash von einer anderen Anwendung trifft das nciht zu. Verstehe ich das richtig?

_________________
Das Unsympathische an den Computern ist, dass sie nur ja oder nein sagen können, aber nicht vielleicht.
ManniTwo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 46

Win XP SP III, Ubuntu 8.04, Debian 5.0
Delphi 5 Pro; Delphi 2005; C++,C# (VS 2005); Java, Ruby (Eclipse)
BeitragVerfasst: Mo 21.08.06 10:33 
ja genau, es sei denn die verwendete Komponente für die Interpretation erkennt diese Kodierungen auch.

_________________
Wer andern eine Bratwurst brät, der hat ein Bratwurst-Brat-Gerät, oder anders:
ausblenden Delphi-Quelltext
1:
if Self.BraetAndernEineBratwurst then Self.HasBratwurstBratGeraet := true;