调用XPathDocument(Stream)
构造函数时,流会自动关闭。我怎样才能保持溪流畅通?
Stream
、String
和TextReader
重载使用内部System.Xml.XmlTextReaderImpl
类。此类将closeInput
设置为true
。
如果要避免这种情况,则需要使用XmlReader
重载。这使用了未修改的XmlReaderSettings
实例,其中CloseInput
的默认值为false
。之后不要忘记将Position
设置回0
。
var reader = XmlReader.Create(stream);
var document = new XPathDocument(reader);
stream.Position = 0;