我有一個客戶端/服務器應用程序,其中數據以XML格式進行交換。數據大小約爲50MB,其中大部分由XML標籤本身組成。有沒有辦法把生成的XML和索引節點名稱如下:最小化XML文件的大小
<User><Assessments><Assessment ID="1" Name="some name" /></Assessments></User>
到:
<A><B><C ID="1" Name="some name" /></B></A>
這將節省膨脹數量驚人的。
編輯
該數據是從實體框架對象中序列化的。選擇XML作爲協議的原因是.NET中的內在支持,以及FromXml和ToXml的智能代碼生成,以避免實體繞過循環引用。
這樣做是沒有意義的,除非你有辦法再次撤銷壓縮。整個文件只是隨機的字母而不是標籤。 – OptimusCrime
GZipStreaming的內容看起來更簡單。更改xml節點名稱會更改xml內容的含義。 –
你擔心的是什麼?是當它們被持久化到磁盤(壓縮它們),當它們被傳輸(壓縮它們)時,還是當它們在內存中被處理時? – paul