Hallo scharf sehende
Freunde :-)
Eine Java-Anwendung
verarbeitet mein mit .NET erstellte XML und reagierte dabei "falsch" auf
Elemente die Leer sind:
So werden die Elemente in Java
richtig verarbeitet:
<myNode
myAttribute="keinInhalt" />
Allerdings habe ich
auch Elemente, die werden so in die XML-Datei
geschrieben:
..<myNode
myAttribute="keinInhalt">\r\n
..</myNode>
Die Punkte zeigen Leerschläge, die \r\n
sollen den Zeilenumbruch zeigen.
Ich schreibe also auch mit End-Tag das
Element und formatiert mit Einzug in die XML-Datei. Im DOM mit .NET habe ich
keine Probleme, der myNode enthält kein Wert. Die Java-Anwendung jedoch
übernimmt die Spaces des Einzuges. Unabhängig davon, ob der Java-Programmierer
etwas getürkt hat, frage ich mich "was ist nun korrekte Syntax des
XML"?
Irgendwie muss ich doch zugeben, dass durch
die Formatierte Darstellung, das Element auch einen Wert enthält, nämlich
"\r\n..". Oder ist es per Definiton so, dass Leerschläge, oder Tabs nach einem
Zeilenumbruch nicht als Inhalte betrachtet werden?
Das Problem entsteht übrigens, weil ich
Elemente wie zuoberst gezeigt mit myNode.InnerText = "" überarbeite. Dabei macht
.NET aus <myNode
myAttribute="keinInhalt" />neu ..<myNode myAttribute="keinInhalt">\r\n
..</myNode>
(je nach Einstellung von Einzug im XmlTextWriter). Kann ich denn einen
Leerstring zuweisen und erzwingen, dass das Element selbst geschlossen wird
(ohne
Endtag)?
Vielen Dank für Hinweise
Patrik
