我一直認爲XML是數據的來源,而不是數據的表達,但是我已經與市場營銷人員合作過,他們喜歡將想法出售給客戶,XML是可以在瀏覽器中查看的文檔。我試着解釋說它只是數據組件,而且這個觀點是分開的,但是我用這種方法取得了有限的成功。我假設XML是一個數據存儲區嗎?XML是輕量級數據庫還是文檔?
回答
XML是一種存儲數據的結構化方式。它可以是數據庫和文檔。
這是一個數據庫,它包含與某種格式匹配的數據,您可以讀取或修改這些數據。
它是一種將文件中的一些數據存儲在文檔中的文檔,如Word文檔或Photoshop圖像。
當然,它是而不是數據的呈現,並且對於任何非IT人員,必須呈現XML才能使用。
XML是一種數據格式。 HTML是一種將XML用於文檔的方法(通過賦予數據特定的含義)。 CSS用於HTML樣式。 XML本身並沒有做到這一點。它只是存儲信息。某些瀏覽器將純XML呈現爲突出顯示的樹,但這不是XML的屬性。這是瀏覽器用它做的事情。你可以添加CSS等到XML,但不能確保它是這樣顯示的。 XML本身只是一個數據容器。
好吧,現在你很難對XML是什麼,不是什麼,不應該用什麼簡潔的陳述。有一些用於數據交換,應用程序配置,數據存儲的XML示例,您可以將其命名。這不需要考慮諸如OML,XAML等的改編。
回顧XML的起源可能會有所幫助,如this article,以及經常提出的criticisms。
這是來自作者Effective XML的一個有趣的引用。
XML不是數據庫。從來沒有 意味着一個數據庫。它永遠不會是 成爲一個數據庫。關係型數據庫 經過驗證的技術有 超過20年的執行經驗 。他們是堅實,穩定, 有用的產品。他們不會去 。 XML是一種非常有用的技術,用於在不同的 數據庫之間或在數據庫和 其他程序之間移動數據。但是,它本身不是 數據庫。不要像 之一那樣使用它。
我明白這句話,但不同意作者的想法,數據庫總是關係... – DerekH 2010-12-15 15:17:06
顧名思義,XML是(可擴展的)標記(語言)。您可以將它用於文檔,將簡單的數據存儲在其中,因爲上帝知道什麼(嚴格來說,所有這些都是某種信息)。它是常用的數據,是的。但我認爲它不如JSON或YAML等極輕量級數據格式更好 - 樹是非常通用的強大的,所以它們可以用相對較少的彎曲表示大多數數據,但它們不是大多數數據的最自然表示。想想列表或鍵值對...你必須將它們建模爲許多葉子或許多具有兩個葉子的小分支。
這不是傳統意義上的數據庫,至少不是一個有效的數據庫。想一想:爲了從中獲取數據,你需要完全解析數據,在這樣做的時候構建一棵大樹,然後搜索那棵樹來獲取你想要的信息。是的,那是因爲它非常靈活,但這正是問題所在。或者,當然,您使用SAX並使用較少的內存 - 但這仍然是線性搜索。
雖然將數據存儲在與數據庫無關的問題上可能很有用 - 這也是因爲它的靈活性。
對於XML而言,+1不是技術意義上的數據庫。 XML作爲序列化技術更有用,而不是用作實時數據庫。 – 2010-12-15 15:08:38
- 1. 在java中,JFrame是重量較輕的組件還是輕量級組件?
- 2. 輕量級數據庫(SQL或NoSQL)
- 3. 輕量級內存數據庫
- 4. 這個輕量級模式真的是輕量級模式嗎?
- 5. 緩存輕量級數據
- 6. 輕量級數據格式
- 7. 這是JSON數據,XML還是其他?
- 8. 我應該使用XML文件還是數據庫?
- 9. 我應該使用本地數據庫還是XML文件?
- 10. 什麼是對服務器徵稅?數據庫的數量還是數據量?
- 11. Android:在哪裏存儲數據?數據庫還是xml?
- 12. 如何判斷給定的git標籤是註釋還是輕量級的?
- 13. 輕量級C++ Gui庫
- 14. 輕量級X窗口庫
- 15. 輕量級JS AJAX庫
- 16. 輕量級C++腳本庫
- 17. 輕量級消息庫?
- 18. 輕量級Java壓縮庫?
- 19. C++輕量級配置庫
- 20. 是否有一個用於PHP的輕量級CMS /數據集管理庫?
- 21. 是否存在輕量級和非安裝的數據庫系統?
- 22. 什麼是用於小型F#winforms項目的優秀輕量級數據庫?
- 23. 在mysql/mariadb是索引存儲數據庫級還是在表級別?
- 24. 有沒有非常輕量級的數據庫java庫?
- 25. 使用輕靈還是不輕鬆?
- 26. 輕量級是一個Swing組件?
- 27. 內部類是否輕量級?
- 28. Java的String Intern是一個輕量級?
- 29. Android是否有輕量級主題?
- 30. 什麼是輕量級事件?
XML是一種語法。你還稱之爲什麼取決於你如何使用它。 – skaffman 2010-12-15 14:57:40
我想知道什麼樣的客戶將準備好在瀏覽器中查看和使用XML數據。 – 2010-12-15 14:58:58
@MainMa你會感到驚訝,有時它已經是老派的COBOL程序員,仍然掛在那裏;-) – bakoyaro 2010-12-15 15:00:46