如何阻止 XPathDocument 关闭流?

How can I stop XPathDocument from closing the stream?

调用XPathDocument(Stream)构造函数时,流自动关闭。我怎样才能保持流打开?

StreamStringTextReader 重载使用内部 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;