如何将XDocument中的XML转换为MemoryStream而不保存任何内容到磁盘?将XDocument转换为流
35
A
回答
27
看看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);
}
}
24
在.NET 4及更高版本,您可以将其保存到一个MemoryStream
:
Stream stream = new MemoryStream();
doc.Save(stream);
// Rewind the stream ready to read from it elsewhere
stream.Position = 0;
在.NET 3.5和更早的版本,你需要创建一个基于MemoryStream
一个XmlWriter
和除此之外,如dtb's answer所示。
0
XDocument doc = new XDocument(
new XElement(C_ROOT,
new XElement("Child")));
using (var stream = new MemoryStream())
{
doc.Save(stream);
stream.Seek(0, SeekOrigin.Begin);
}
相关问题
- 1. Restsharp - 将XDocument转换为对象
- 2. 如何将StreamReader转换为XDocument?
- 3. 将文件转换为流
- 4. 将DataTable转换为CSV流
- 5. Silverlight:将WriteableBitmap转换为流
- 6. 将流转换为IRandomAccessStream
- 7. 将回调转换为流
- 8. 将流转换为对象?
- 9. 将JSON流转换为CSV
- 10. 将图像转换为流
- 11. 如何将java流转换为scala流?
- 12. 将rtsp流转换为http流
- 13. 将rtsp视频流转换为http流
- 14. 将XDocument优化为XDocument XSLT
- 15. 将REST响应转换为XDocument的问题
- 16. 在将.csv文件转换为XDocument时错误的编码
- 17. 如何将byte []响应转换为有效的XDocument?
- 18. 将Git工作流转换为Mercurial
- 19. 如何将IntPtr转换为流?
- 20. 将servletinputstream转换为序列输入流
- 21. 将音频流转换为PCM
- 22. 将XmlNodeList转换为XmlDocument,或者流
- 23. 将属性转换为输入流?
- 24. 将多个MediaStream转换为1个流
- 25. 如何将OpenCV WebRTC流转换为Java
- 26. 如何将流转换为BitmapImage?
- 27. NanoHTTPD - 将https流转换为http
- 28. 将迭代器代码转换为流
- 29. 将流体表转换为div/css
- 30. C++ boost:asio将套接字转换为流?
或.Save - 但例子成立;-p – 2009-04-15 06:16:33
@Marc WriteTo()和Save()之间有什么区别? – 2010-03-01 15:11:31