Учитывая экземпляр XDocument, как я могу легко получить TextReader, который представляет этот экземпляр?
Лучшее, что я смог придумать, это что-то вроде этого (где xml
- это экземпляр XDocument):
var s = new MemoryStream();
var sw = new StreamWriter(s);
xml.Save(sw);
sw.Flush();
s.Position = 0;
TextReader tr = new StreamReader(s);
Однако, это кажется немного неуклюжим, поэтому мне было интересно, есть ли более простой способ?
Редактировать
Приведенный выше пример эквивалентен преобразованию всего экземпляра в строку XML, а затем созданию TextReader поверх этой строки.
Мне было просто интересно, есть ли более потоковый способ сделать это, чем считывать все содержимое в память.