Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[erledigt] Xml-String bauen OHNE eine Xml-Datei zu erzeugen
_Bugrick_
myCSharp.de - Member



Dabei seit:
Beiträge: 51

Themenstarter:

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

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo _Bugrick_,
Zitat
aber auch dieser verlangt einen [...]/Stream.
und wo ist das Problem? Es wird ja kein FileStream verlangt. Du kannst auch einen MemoryStream verwenden.

herbivore
private Nachricht | Beiträge des Benutzers
ujr
myCSharp.de - Experte



Dabei seit:
Beiträge: 1770

beantworten | zitieren | melden

Zitat von _Bugrick_
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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ujr am .
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

beantworten | zitieren | melden

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

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
_Bugrick_
myCSharp.de - Member



Dabei seit:
Beiträge: 51

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers