2011-03-30 47 views
4

System.Xml.XmlWriter一个实例被写入到一个底层的流吧?(不管是什么的XmlWriter的具体实现)如何从XMLWriter获取流?

那么怎么来的没有方法可供程序员来检索的XmlWriter Stream对象?

我确定我缺少一些简单的东西。提前致谢。 PS:如果有人问,我真正想要做的就是从传递给我的XmlWriter实例中获取流,并从中创建一个XmlReader(如果需要,先冲洗Writer)。

然后我需要使用的XmlReader作为参数传递给XslCompiledTransform.Transform方法

编辑:标点

回答

6

你不应该这样做。即使你知道XmlWriter下面有一些Stream,但这是实现细节,XmlWriter不应该给你。流也可以只读或只写,你将如何读取它?

如果您知道可以同时写入和读取数据流,则应将用于实例化XmlWriter的原始数据流传递到您想要读取数据流的位置。否则,你应该创建一个新的流,它将读取XmlWriter所写的内容。

+0

>你不应该这样做。 看来我无论如何不能。但是你的解释是有道理的:不能保证流可以被读取。感谢那。 >否则,您应该创建一个新的流,它将读取由XmlWriter写入的内容。 我仍在努力如何做到这一点,虽然? – 2011-03-30 13:00:22

+0

@K_M,这取决于你如何为'XmlWriter'创建这个流 - 这里是关键。 – Snowbear 2011-03-30 13:13:08

+0

JIM编译器, 我传递了XmlWriter的一个实例,所以我不会事先知道Stream是如何创建的。 也许设计是有缺陷的。 但是我直接得到它 - 不可能从XmlWriter获得流(新的或其他)然后呢? 这意味着,给定一个XmlWriter,没有办法用相同的数据创建一个XmlReader? (对不起,我正在脱离主题,让我知道它是否与此处的etquette相同)。感谢您的回复。 – 2011-03-30 13:47:51