Wypełnij XDocument z ciągu

358

Pracuję nad czymś i próbuję dowiedzieć się, czy mogę załadować XDocument z łańcucha. XDocument.Load()wydaje się, że ciąg przekazany do niego jako ścieżka do fizycznego pliku XML.

Chcę spróbować ominąć krok najpierw tworzenia fizycznego pliku XML i przejść od razu do wypełnienia XDocument.

Jakieś pomysły?

StevenMcD
źródło

Odpowiedzi:

39

Co powiesz na to...?

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

To zostało zaczerpnięte z dokumentów MSDN dla XDocument.Load, znalezionych tutaj ...

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

Martin Peck
źródło
2
Ale, jak wskazano w innych odpowiedziach, Parse jest na to sposobem.
Martin Peck,
7
W rzeczywistości Parse wewnętrznie używa StringReader.
Samuel
2
@Samuel (i upvoters) nie wszystkie TextReadery są StringReaders. Jest to przykład użycia TextReadera, fakt, że przypadkowo dzieli on ten sam czytnik co Parse, jest nieistotny.
Chris Marisic,
23

Wypróbuj metodę parsowania .

Bruno Conde
źródło