我有一個字符串(xml),我需要將它暫時存儲爲內存流,然後將其作爲文件存儲在最後。如何實現字符串(xml)到內存流以C#文件?
我知道我們可以直接在文件中使用textwriter存儲xml,但這不是我想要的。我想要將字符串轉換爲內存流,然後寫入文件流。
我該如何執行此操作?共享代碼將非常有幫助。
我有一個字符串(xml),我需要將它暫時存儲爲內存流,然後將其作爲文件存儲在最後。如何實現字符串(xml)到內存流以C#文件?
我知道我們可以直接在文件中使用textwriter存儲xml,但這不是我想要的。我想要將字符串轉換爲內存流,然後寫入文件流。
我該如何執行此操作?共享代碼將非常有幫助。
如果我找到你,你想打開表示XML的char數組(字符串)上的內存流?
string xml;
MemoryStream ms = new MemoryStream(Encoding.ASCII.GetBytes(xml));
ms.DuStuf();
fileStream.Write(ms.GetBuffer(), 0, xml.Length);
如果您使用.NET 4,這是很容易 - 你可以使用Stream.CopyTo複製您的MemoryStream到一個FileStream直接。
如果您使用的是舊版本,則需要自行實施。這往往是這樣的:
byte[] buffer = new byte[4096];
int read;
while ((read = source.Read(buffer, 0, buffer.Length)) != 0)
{
destination.Write(buffer, 0, read);
}
您可以用System.Linq.XDocument加載字符串,做任何你需要的XML,然後調用的XDocument的Save()保存到文件中。 – 2010-02-26 16:41:38
@馬克拜爾斯,謝謝你的時間。好!由於NDA,我不能說一切。我們收到了來自第三方供應商的少量dll。其中一種方法接受存儲流作爲輸入,處理它併爲我們提供另一個存儲流作爲輸出。我想傳遞一個xml字符串並將處理過的內存流存儲在一個文件中。 – funwithcoding 2010-02-26 18:45:39