如何阻止XPathDocument关闭流?

时间:2015-02-04 11:42:36

标签: .net xpath stream

调用XPathDocument(Stream)构造函数时,流会自动关闭。如何保持流畅通?

1 个答案:

答案 0 :(得分:5)

StreamStringTextReader重载使用内部System.Xml.XmlTextReaderImpl类。 This class sets closeInput to true

如果您想避免这种情况,则需要使用XmlReader重载。这使用未经修改的XmlReaderSettings实例,其默认值CloseInputfalse。不要忘记之后将Position设置回0

var reader = XmlReader.Create(stream);
var document = new XPathDocument(reader);
stream.Position = 0;