Entwickler-Ecke

IO, XML und Registry - Linq to XML


Thomas85 - Fr 08.05.09 23:46
Titel: Linq to XML
Hallo Community,

ich habe gerade ein Problem mit Linq to XML und finde keine Lösung dafür:

Zunächst erstelle ich ein XML-Document mit Hilf der Linq to XML API.
Das XML File enthält verschiedene Element, die ich wie folgt erzeuge:


C#-Quelltext
1:
2:
3:
4:
new XElement("node",
new XElement("node_ID", process.ProcessID),
new XElement("x_pos", process.Rectangle.X),
//An dieser Stelle soll nun ein XML-Segment erscheinen)


An der Kommentarstelle möchte ich nun ein String einfügen, der XML-Elemente enthält.


C#-Quelltext
1:
String xml_to_insert = "<child1>Value</child1><child2>Value</child2><child3>Value</child3>";                    


Füge ich diesen string einfach an die Kommentarstelle ein, so werden aus meinen Klammern ('<' und '>'), html zeichen ('&lt;')

Eine möglichkeit diese Problematik zu beheben wäre der Einsatz der Methode XElement.Parse(xml_to_insert)

Hierbei tritt jedoch das Problem auf, dass mehr als ein Child Element in dem String vertreten ist. Es kommt zu einem Laufzeitfehler.

Hat jemand von euch eine Idee, wie ich den String in das XML-Dokument schreiben kann?

Vielen Dank


Kha - Sa 09.05.09 13:15

:welcome:

Etwas merkwürdiger Use-Case, an so etwas haben die Leute bei MS wohl nicht gedacht ;) . Du könntest den String aber zu validem XML ergänzen, also z.B. XElement.Parse("<foo>" + deinString + "</foo").Elements() übergeben.