如何从XDocument轻松获取TextReader?

Mar*_*ann 5 .net linq-to-xml textreader

给定一个XDocument实例,如何轻松获取表示该实例的TextReader?

我能想出的最好的东西是这样的(xmlXDocument实例在哪里):

var s = new MemoryStream();
var sw = new StreamWriter(s);

xml.Save(sw);

sw.Flush();
s.Position = 0;

TextReader tr = new StreamReader(s);
Run Code Online (Sandbox Code Playgroud)

然而,这似乎有点笨重,所以我想知道是否有更简单的方法?


编辑

上面的示例等效于将整个实例转换为XML字符串,然后在该字符串上创建TextReader.

我只是想知道是否有一种类似于流的方式来执行它而不是将整个内容读入内存.

Dan*_*ott 5

  TextReader tr = new StringReader(xml.ToString());
Run Code Online (Sandbox Code Playgroud)