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?

StevenMcD
quelle

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

Martin Peck
quelle
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
23

Probieren Sie die Parse- Methode aus.

bruno conde
quelle