Remplir XDocument à partir d'une chaîne

358

Je travaille sur un petit quelque chose et j'essaie de savoir si je peux charger un XDocument à partir d'une chaîne. XDocument.Load()semble prendre la chaîne qui lui est transmise comme chemin vers un fichier XML physique.

Je veux essayer de contourner l'étape de création du fichier XML physique et passer directement au remplissage du XDocument.

Des idées?

StevenMcD
la source

Réponses:

39

Que dis-tu de ça...?

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

Ceci a été pris à partir des documents MSDN pour XDocument.Load, trouvés ici ...

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

Martin Peck
la source
2
Mais, comme indiqué dans d'autres réponses, Parse est le moyen de le faire.
Martin Peck
7
En fait, Parse utilise en interne un StringReader.
Samuel
2
@Samuel (et upvoters) tous les TextReaders ne sont pas des StringReaders. Ceci est un exemple d'utilisation de TextReader, le fait qu'il partage par coïncidence le même lecteur que Parse n'est pas pertinent.
Chris Marisic
23

Essayez la méthode Parse .

bruno conde
la source