Laden...

[erledigt] Xml-String bauen OHNE eine Xml-Datei zu erzeugen

Erstellt von _Bugrick_ vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.809 Views
_
_Bugrick_ Themenstarter:in
48 Beiträge seit 2011
vor 10 Jahren
[erledigt] Xml-String bauen OHNE eine Xml-Datei zu erzeugen

Hallo zusammen,

seit einigen Tagen bin ich auf der Suche nach einer Möglichkeit einen einfachen Xml-String zu erstellen, ohne dabei eine Datei erzeugen/speichern zu müssen. Hat den einfachen Grund, dass das xml per TCP-Nachricht versendet werden soll.

Normal mache ich das immer mit XmlDocument, was in diesem Fall ja nicht geht. Dann hatte ich viel Hoffnung in den XmlTextWriter gelegt (klingt ja nicht nach Datei) aber auch dieser verlangt einen Pfad/Stream.

Kennt jemand eine Klasse/Möglichkeit mit einfachen mitteln Knoten und Attribute zu setzen und am ende einen Xml-String haben? Lustigerweise kann man mit der XmlDocument-Klasse einen Xml-String setzen und diesen auslesen ohne eine Datei zu haben, aber umgekehrt offenbar nicht. Notfalls werde ich das Xml händisch basteln müssen 😕

Hier noch ein einfaches Beispiel wie es am Ende aussehen muss, wie gesagt, sehr simpel:

<input type="Test"><a>1</a><b>2</b><c>3</c></input>

Vielen Dank schon mal!

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo Bugrick,

aber auch dieser verlangt einen [...]/Stream.

und wo ist das Problem? Es wird ja kein FileStream verlangt. Du kannst auch einen MemoryStream verwenden.

herbivore

U
1.688 Beiträge seit 2007
vor 10 Jahren

Normal mache ich das immer mit XmlDocument, was in diesem Fall ja nicht geht.

Warum sollte das nicht gehen? MaW - was genau meinst Du, das nicht geht?

Was Dir helfen wird, ist OuterXml.

5.941 Beiträge seit 2005
vor 10 Jahren

Hallo

Entweder mit einem MemoryStream, wie herbivore geschrieben hat. Oder aber du nimmst die LINQ To Xml API; von dort die Klasse XElement.

Die hat eine .ToString()-Methode, die das gewünschte macht.

Ich würde LINQ to Xml empfehlen.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

_
_Bugrick_ Themenstarter:in
48 Beiträge seit 2011
vor 10 Jahren

Sorry, dass ich mich erst jetzt wieder melde. Danke für alle eure Antworten.

LINQ, schön wärs. Leider muss ich noch mit VS2005 und Framework 2.0 arbeiten 😦
Ich habe mich dann letzten Endes dazu entschlossen das XML manuell zu erzeugen.

Thema kann von meiner Seite her geschlossen werden.

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo Bugrick,

fürs manuelle Erstellen besteht auch unter .NET 2.0 überhaupt keine Notwendigkeit, siehe meine erste Antwort oben.

Threads werden normalerweise nur geschlossen, wenn sie gegen die Regeln verstoßen, aber ich habe den Thread als [erledigt] gekennzeichnet.

herbivore