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?

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


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.