Bir XDocument öğesindeki XML'i bir diske kaydetmeden bir MemoryStream'e nasıl dönüştürebilirim?XDocument'i Akışa Dönüştürme
35
A
cevap
27
XDocument.WriteTo yöntemine bir göz atın; örneğin:
.NET 3.5 olarakStream stream = new MemoryStream();
doc.Save(stream);
// Rewind the stream ready to read from it elsewhere
stream.Position = 0;
ve önceki, bir MemoryStream
dayanan bir XmlWriter
oluşturmak gerekir ve:
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);
}
}
.NET 4'te
24
ve daha sonra, bir MemoryStream
için kaydedin edebilirsiniz dtb's answer'da gösterildiği gibi kaydedin.
+0
Her iki yaklaşımın da \ r \ n ve whitespace eklediğini merak ediyorum. Burada kolay bir seçeneğe sahip olmak harika olurdu (mevcut XmlWriter'i aşırı yüklemek yerine) – beanmf
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);
}
İlgili konular
- 1. nanoHTTPd aracılığıyla video akışını videodan akışa dönüştürme VideoView
- 2. Node.js - Akışa nasıl bağlanır
- 3. Çözme tabanı64 Görüntünün akışa aktarımı
- 4. Sbt ayarı başlatılırken akışa yazdırma
- 5. Bir IntPtr'ı Akışa nasıl dönüştürebilirim?
- 6. MemoryStream - Kapalı bir Akışa erişilemiyor
- 7. Bir Url'den Aktarım'a Dönüştürme
- 8. Verileri henüz veri almaya hazır olmayan yazılabilir akışa aktarma
- 9. Geri izleme algoritması akışa nasıl dönüştürülür?
- 10. Akışa "enter tuşuna bas" nasıl yazılır?
- 11. Python uyarıları özel bir akışa nasıl yönlendirilir?
- 12. Bir akışa XmlWriter kullanarak System.Xml.Linq.XElement nasıl yazılır
- 13. Akışa <String> .forEach() nasıl eklenir?
- 14. MySQL'i Dönüştürme PostgreSQL'e Dönüştürme
- 15. YUV'yi OpenCV ile kayıp sıkıştırmaya dönüştürme
- 16. Split Rx Birden çok akışa gözlenebilir ve tek tek işlenebilir
- 17. lucene dizinini bir dizine değil bir akışa kaydet
- 18. Json.NET, Biçimlendirme ile akışa seri hale getirilebilir mi?
- 19. Twitter Bootstrap girdisi satır içi akışa son ekler.
- 20. Bir Mat öğesinden IplImage'a dönüştürme dönüştürme *
- 21. dönüştürme CURL
- 22. örtük dönüştürme
- 23. dönüştürme SoftwareBitmap
- 24. dönüştürme nesne
- 25. dönüştürme XML
- 26. dönüştürme Dize
- 27. dönüştürme dizesi
- 28. dönüştürme ArrayList
- 29. dönüştürme dizesi
- 30. Haritaya dönüştürme
Veya .Save - ancak örnek tutar; -p –
@Marc WriteTo() ve Save() arasındaki fark nedir? –
@Daniel Fortunov: .Save daha fazla aşırı yüklenme sağlar, ancak bunların tümü arama sona erer .WriteTo – dtb