使用XML保存信息有什麼原因?什麼時候可以使用XML文件來保存信息?
7
A
回答
12
可能有很多原因:像任何其他文件格式,它有優點和缺點:
優點:
- .NET本身支持序列化的對象到XML,並再次反序列化回。
- 它比二進制格式或JSON對人眼更具可讀性和描述性
- 它很容易根據模式進行驗證,以確保其格式正確。
- 它可以用其他工具加載和分析。
- 它可以很容易地與其他平臺/語言進行互換,不像原生.Net二進制序列化格式
- 它可以被轉換,並且你可以在其上運行xpath。
缺點:
- 它比任一天然的.Net二進制序列化格式更詳細的,或JSON
- 它沒有有關被反序列化爲xml的類存儲類型信息,而一種本地二進制格式。
3
標準線是「爲人類可讀和計算機可讀數據」
但其他格式,如JSON是更簡潔和同樣的通用性。
2
我們用它來保存我們的機器配置文件。我們在現場有很多機器配置了許多不同的方式。我們可以使用DataContract或Xml序列化器,這很容易實現。
對我們來說,好處是我們可以輕鬆區分這些文件來查看機器之間的差異。
9
這是一個可移植的可解析標準。
所以,如果你有數據需要被幾個不同的程序(也可能是人)讀取,你可以使用XML。
將(通過XSLT)驗證和轉換爲其他格式也相對容易。
很明顯,您可以使用其他格式,但這並不會阻止您使用XML。
5
反轉你的問題可能是一個好主意:什麼時候用XML來保存信息不是好的?
當您只需頻繁追加數據時,規範示例就是日誌文件。 XML將要求您解析整個文檔,並找到正確的位置,爲了不打破合式結構
當你只需要在文件中查詢某些項目頻繁插入。隨機訪問文件的一部分可能不會有效。這可能會更好地處理一個格式,該格式將經常訪問的信息存儲在衆所周知的偏移處,以便不需要解析該文件。
存儲非分層順序數據時,通常會有更好的XML替代方法。考慮圖像,音頻或視頻文件格式。
相關問題
- 1. 應該使用什麼設計來保存文件信息
- 2. 什麼時候可以從意圖獲取信息?
- 3. 什麼信息就保存
- 4. 我什麼時候可以使用Task.Yield()?
- 5. 什麼時候可以使用filter_input()
- 6. 什麼時候可以使用IORef?
- 7. 什麼時候可以使用lodash.after()?
- 8. 你什麼時候可以使用uint_least16_t
- 9. 我什麼時候可以使用AppDomain?
- 10. KineticJS:我什麼時候使用toImage()以及什麼時候使用緩存()
- 11. 什麼時候應該使用xhtml以及何時使用xslt來使用xml?
- 12. 在什麼時候我可以相信數據已經保存到mysql?
- 13. 什麼時候可以用Javascript來使用?
- 14. 我可以使用什麼來生成本地XML文件?
- 15. 如何使用XML文件來存儲信息VB
- 16. 什麼時候使用信號和插槽,什麼時候不使用
- 17. 什麼時候可以調用BarcodeScanner.GetDefaultAsync()?
- 18. 什麼時候可以卸載Windows服務可執行文件?
- 19. 什麼是BigInteger,我們什麼時候可以使用它?
- 20. 什麼時候應該使用可可?
- 21. 什麼時候首選項保存到文件?
- 22. 什麼時候應該在html文件上保存Javascript?
- 23. 使用可序列化保存信息
- 24. 將類類型信息保存到文件以供將來使用
- 25. 您什麼時候可以使用In-Proc WCF組件?
- 26. 什麼時候可以使用OpenCL 1.2 for NVIDIA硬件?
- 27. 什麼時候最好做NSManagedObjectContext保存?
- 28. 從.db文件保存信息的正確方法是什麼?
- 29. rsync可以保存目錄信息嗎?
- 30. 什麼保存大量的信息到
JSON是否比XML更容易解析? – 2010-06-23 23:13:40
我不會說*更容易*,但肯定不太詳細。 – 2010-06-23 23:14:21
不同意JSON。 JSON對於機器閱讀和容易破解來說只不錯。 – 2010-06-23 23:16:07