2009-07-18 31 views
3

我與QuantumGrid 6從DevExpress的工作。我需要將網格設置存儲在xml配置文件中。不幸的是,網格不允許XML作爲存儲選項。但是,我可以將設置導出到流中。我如何編碼一個流,以便它可以存儲在一個XML文件?

我想導出到一個數據流,然後轉換爲文本,並將其保存爲XML值的流。我猜這些文本只能包含可打印的字符,如果以某種方式壓縮,它會很好。

有人可以建議編碼流的方法是什麼?

回答

3

使用標準IdEncoderMIME/IdDecoderMime從印第安納波利斯其它調色板。你有一些編碼流的方法。

3

您可以使用SimpleStorage,一個XML的存儲基礎架構,我創建。你可以在這裏下載。

SimpleStorage Download

它是爲了解決像你這樣的問題。要做到你需要你想要的一行代碼:

SrcStorage.Ensure('Data').Filter('gzip').AsBinary.LoadFromStream(MemoryStream);

它不僅自動的base64編碼數據,但它也支持過濾器,使您可以在飛行gzip壓縮。

所以用三行代碼就可以做到這一切:

SrcStorage := CreateStorage('BinaryStorage'); SrcStorage.Ensure('Data').Filter('gzip').AsBinary.LoadFromStream(MemoryStream); SrcStorage.SaveToFile('Data.xml');

它採用OmniXML一個很好的德爾福XML庫。您可以在下載頁面找到所有信息。

0

我已經這樣做了使用DIMimeStreams,編碼到tStringStream,然後放置stream.datastring作爲特定元素的文本部分。如果您想添加加密,那麼我會添加在LockBox中找到的例程以在MIME步驟之前加密流。 LockBox的最新版本爲2009年編譯,可在songbeamer網站上獲得。您也可以使用幾乎任何壓縮到流的壓縮例程進行壓縮,然後運行MIME步驟。

相關問題