如何阻止 XPathDocument 关闭流?
How can I stop XPathDocument from closing the stream?
调用XPathDocument(Stream)
构造函数时,流自动关闭。我怎样才能保持流打开?
Stream
、String
和 TextReader
重载使用内部 System.Xml.XmlTextReaderImpl
class。 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;
调用XPathDocument(Stream)
构造函数时,流自动关闭。我怎样才能保持流打开?
Stream
、String
和 TextReader
重载使用内部 System.Xml.XmlTextReaderImpl
class。 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;