2013-08-19 58 views
0

我試圖找出序列化xml文件的方式,然後通過網絡發送,但徒勞無功。我可以通過閱讀XML內容來暫時完成任務,將其放入一個字符串中,並通過網絡發送字符串,並將內容寫入另一端的xml文件中。現在,它讓我想知道xml序列化和這種方法之間的主要區別是什麼?什麼使xml序列化與發送字符串不同?

這個問題可能很微不足道,但我仍然看不到原因。

+0

沒有必要序列化XML,因爲它已經是串行的。你可以談論序列化別的*爲* XML,但是序列化XML沒有意義。 –

回答

0

XML序列化通常是將XML文檔製作成字符串的過程,因此您可以執行諸如通過網絡發送或將其寫入文件等操作。 (從技術上講,你可以用不同的方式對它進行序列化,但是把它變成字符串幾乎總是當你想在系統之間交換文檔時你所做的)

所以在發送時不應該有太大的實際區別您的XML文檔的序列化版本,或發送您從其他地方獲得的已經字符串化的文檔版本。

0

我的想法是,序列化是將程序數據作爲存儲在RAM中各種結構中的方法,並創建一個具有足夠詳細內容的單個連續內存塊來重新創建所述結構。

這段內存可以很容易地通過網絡發送,保存到文件等。另一方面,我們現在可以將數據反序列化回原始結構。

存儲器的序列化塊可能包含二進制數據(通常爲ASN1表單)。或者,內存塊可以是人類可讀的字符串。 XML經常用作適合通過網絡傳輸的人類可讀形式的數據。

因此,當您說XML序列化時,我理解這是將XML數據的二進制表示形式轉換爲適合保存到磁盤或通過網絡傳輸的XML文檔的過程。