由于一个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。

我只是想知道是否有一个更流般的方式做到这一点比读取整个内容到内存中。

有帮助吗?

解决方案

  TextReader tr = new StringReader(xml.ToString());

善,

其他提示

我还没有尝试过,但有一个方法XNode.WriteTo(XmlWriter)。你可以通过它XmlTextWriter得到的文本表示。这可能需要稍微更码 写的,但它应该是更多的“流式”作为你的要求: - )

[编辑:]即使更容易:有,让你的XNode.CreateReader()的方法XmlReader。你只需要处理转换为文本自己。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top