mic*_*win 39 .net c# xml linq-to-xml
如何将XDocument中的XML转换为MemoryStream,而不将任何内容保存到磁盘?
Jon*_*eet 39
在.NET 4及更高版本中,您可以将其保存到MemoryStream:
Stream stream = new MemoryStream();
doc.Save(stream);
// Rewind the stream ready to read from it elsewhere
stream.Position = 0;
Run Code Online (Sandbox Code Playgroud)
在.NET 3.5及更早版本中,您需要创建一个XmlWriter基于a MemoryStream并保存到该文件,如dtb的答案所示.
dtb*_*dtb 29
看看XDocument.WriteTo方法; 例如:
using (MemoryStream ms = new MemoryStream())
{
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = true;
using (XmlWriter xw = XmlWriter.Create(ms, xws))
{
XDocument doc = new XDocument(
new XElement("Child",
new XElement("GrandChild", "some content")
)
);
doc.WriteTo(xw);
}
}
Run Code Online (Sandbox Code Playgroud)