Rellenar XDocument desde una cadena

358

Estoy trabajando en algo y estoy tratando de averiguar si puedo cargar un XDocument desde una cadena. XDocument.Load()parece tomar la cadena que se le pasa como una ruta a un archivo XML físico.

Quiero intentar evitar el paso de primero tener que crear el archivo XML físico y saltar directamente a poblar el XDocument.

¿Algunas ideas?

StevenMcD
fuente

Respuestas:

39

Qué tal esto...?

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

Esto fue tomado de los documentos de MSDN para XDocument.Load, que se encuentra aquí ...

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

Martin Peck
fuente
2
Pero, como se señaló en otras respuestas, Parse es la forma de hacerlo.
Martin Peck el
77
En realidad, Parse usa internamente un StringReader.
Samuel
2
@Samuel (y los votantes) no todos los TextReaders son StringReaders. Este es un ejemplo del uso de TextReader, el hecho de que coincidentemente comparte el mismo lector que Parse es irrelevante.
Chris Marisic