从内存流问题加载Xml

Kou*_*osh 0 .net c# xml stream

这是我的代码:

MemoryStream xmlStream = new MemoryStream();
XmlDocument xmlDoc = new XmlDocument();
XmlWriter xmlWriter = XmlWriter.Create(xmlStream);

//Add some elements and attributes.

xmlWriter.WriterEndDocument();
xmlWriter.Flush();
xmlWriter.Close();
Run Code Online (Sandbox Code Playgroud)

好的,现在我已经关闭了XmlWriter,有没有办法再次访问XmlStream?

如果我不关闭,那么当我想使用xmlDoc.Load(xmlStream)时,它会给出一个异常,说"Root Element is missing"

Chr*_*ley 5

如果不关闭流,可以将Position属性设置为0以返回到开始,然后创建一个XmlReader来读回流,或者在尝试时使用XmlDocument.Load.

总结一下,删除xmlWriter.Close()然后调用xmlStream.Position = 0,然后调用xmlDoc.Load(xmlStream)