调用XPathDocument(Stream)
构造函数时,流会自动关闭。如何保持流畅通?
答案 0 :(得分:5)
Stream
,String
和TextReader
重载使用内部System.Xml.XmlTextReaderImpl
类。 This class sets closeInput
to true
如果您想避免这种情况,则需要使用XmlReader
重载。这使用未经修改的XmlReaderSettings
实例,其默认值CloseInput
为false
。不要忘记之后将Position
设置回0
。
var reader = XmlReader.Create(stream);
var document = new XPathDocument(reader);
stream.Position = 0;