2012-04-06 38 views
0

我一直在閱讀關於序列化的內容,我不明白爲什麼我們使用XML文件而不是txt文件,例如?我一直在嘗試從txt文件讀取數據,並且它工作得很好。什麼是使用XML的原因? 謝謝。序列化.txt與.xml

+0

我不相信無論您使用.XML還是.TXT,它都會產生影響。畢竟,唯一的區別在於擴展 - 無論存儲在哪裏,序列化都會創建相同的輸出。 – aboveyou00 2012-04-06 14:56:01

+0

也有很多二進制serialiaztion格式... – 2012-04-06 14:58:07

回答

2

xml文件基本上是一個文本文件,遵循xml格式化的規則。

xml文件的主要優點是它們是分層的。考慮例如以下XML:

<carOwners> 
    <person name="Bill"> 
    <car brand="Audi"/> 
    </person> 
    <person name="Charlie"> 
    <car brand="volvo"/> 
    <car brand="saab"/> 
    </person> 
</carOwners> 

這裏我們有兩種不同的數據類型:人和汽車。通過XML的層次結構,很容易代表每輛車的擁有者。

當然可以在不使用XML的情況下做類似的事情,但是你必須自己去做大量的字符串操作來解析信息。使用XML,每種主要編程語言至少有一個xml庫可用。

+0

謝謝你的回答,我不知道在C#中有一個XML庫是使用該庫有用嗎? – idish 2012-04-06 15:12:01

+0

有幾個。我通常使用[LINQ to XML](http://msdn.microsoft.com/zh-cn/library/bb387061.aspx)庫。 – 2012-04-06 15:51:50

1

其中之一就是xml(或者json,或者任何定義好的序列化格式)都有大量的工具。另一方面,所有問題已經得到解答:

  • 如何嵌套物品?
  • 我如何轉義字符?
  • 我該如何自動序列化?

另外,由於每個人都瞭解這些商定的格式,所以其他開發人員幾乎不需要花費您的數據。也就是說,自定義序列化顯然可以更小(二進制表示法,更短的語法等),也可以根據您的需要量身定製,但是您需要編寫自己的所有內容,這非常耗時。

1

XML優於原始文本的原因是XML是一種表示結構化數據的方式。這與對象圖的序列化很好地匹配。另一方面,文本文件本質上是非結構化的,並且需要構建用於序列化的格式化標準。