2009-04-14 6 views
299

Ich arbeite an einem kleinen Etwas und ich 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.Füllen XDocument von String

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

Irgendwelche Ideen?

Antwort

22

Versuchen Sie die Parse Methode.

35

Wie wäre es damit ...?

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

Dieses von der MSDN-Dokumentation für XDocument.Load genommen wurde, hier ...

gefunden

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

+1

Aber in anderen Antworten, wie erwähnt, ist Parst die Art und Weise, dies zu tun. –

+7

Tatsächlich verwendet Parse intern einen StringReader. – Samuel

+1

@Samuel (und upvoters) nicht alle TextReader sind StringReader. Dies ist ein Beispiel für die Verwendung von TextReader, die Tatsache, dass es zufälligerweise den gleichen Leser teilt, da Parse irrelevant ist. –