Füllen Sie XDocument aus String


358

Ich arbeite an etwas und versuche herauszufinden, ob ich ein XDocument aus einer Zeichenfolge laden kann. XDocument.Load()scheint die übergebene Zeichenfolge als Pfad zu einer physischen XML-Datei zu verwenden.

Ich möchte versuchen, den Schritt zu umgehen, zuerst die physische XML-Datei erstellen zu müssen und direkt zum Auffüllen des XDocument zu springen.

Irgendwelche Ideen?

Antworten:




39

Wie wäre es damit...?

TextReader tr = new StringReader("<Root>Content</Root>");
XDocument doc = XDocument.Load(tr);
Console.WriteLine(doc);

Dies wurde aus den MSDN-Dokumenten für XDocument.Load entnommen, die hier zu finden sind ...

http://msdn.microsoft.com/en-us/library/bb299692.aspx


2
Aber wie in anderen Antworten ausgeführt, ist Parse der Weg, dies zu tun.
Martin Peck

7
Tatsächlich verwendet Parse intern einen StringReader.
Samuel

2
@Samuel (und Upvoters) Nicht alle TextReader sind StringReader. Dies ist ein Beispiel für die Verwendung von TextReader. Die Tatsache, dass es zufällig denselben Leser wie Parse verwendet, ist irrelevant.
Chris Marisic

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.