2011-09-06 65 views
1

所以我開始學習XML。它看起來像一個簡單的平面文件數據系統,您可以通過使用您選擇的服務器端語言和一些解析來查看輸出。我真的沒有看到使用XML來存儲數據庫中的值並進行相同類型的解析的好處。我的意思是數據庫似乎會更快。XML與數據庫

那麼,你真的可以用XML做什麼,你不能用數據庫做/不應該做什麼? XML真的有用嗎?

回答

3

那麼,你真的可以用XML做什麼,你不能/不應該做的數據庫? XML真的有用嗎?

XML是一種交換格式第一位的。它允許您在程序,服務器或人員之間傳輸結構化數據,並保留常見的解析器和模式系統。

XML當然可以被糟糕的濫用或過度使用。

1

XML被設計爲更具人性化的可讀性。 XML可以在文本編輯器中輕鬆打開並閱讀。一些XML閱讀器可以支持摺疊,這也有助於獲得分層組織的數據。

如果您正在處理的文件是不同的故事。我認爲數據庫通常可以選擇導出到XML。

1

通過使用XML,您可以將數據從一個類型數據庫傳送到另一個類型(例如從MS-SQL到MySQL)。

或將數據從應用程序發送到另一個應用程序,這在許多Web應用程序中都使用。

我認爲這可以是非常有用的。

1

我認爲這是蘋果與橙子的比較...... XML有很多用法,但它並不主要用於存儲數據。與數據庫相比,它的數據結構非常鬆散。

XML的許多用法之一,我經常遇到的是將數據從一個程序交換到另一個程序。因爲它非常簡單,所以可以在Java程序中創建一個XML文件,其他人可以用VB/C#/ Python/Cocoa或任何其他語言解析(讀取)xml文件。

一種這樣的利用XML的web服務是其中客戶端程序可以調用(執行)代碼駐留在服務器上,其中,請求和響應都處於XML。

所以可以說XML的強大功能是互操作性。

另一方面,數據庫主要用於存儲和檢索數據,數據庫是非常強大的功能,可以快速檢索/插入表中的值,因爲XML在很大程度上會失敗,因爲大部分時間XML必須作爲反對串行讀取到駐留在數據庫中的表。

2

這個問題是廣泛的(即有太多不同的方面),但XML的主要原因甚至不在於數據存儲。它被設計成數據交換的最終通用平臺,具有如何組織數據的定義規則。因此,您可以在幾乎每個平臺和語言上讀取/寫入有效的XML。

0

XML可以包含高度複雜的無法在關係數據庫中輕鬆表示的數據結構。

XML對於表示文檔(例如Word文檔或HTML)也很有用。

這對XML非常有吸引力的事情是它非常容易創建。

例如,Python是將文本文件轉換爲XML的絕佳語言。

0

XML與數據庫是錯誤的二分法,因爲您可以將XML存儲在數據庫中。雖然簡單的XML文檔有時可以用於需要數據庫的應用程序,但的確如此。

如果您正在處理文檔(如技術期刊中的文章),那麼您唯一真正的選擇是在XML和一些專有的等價物之間。這當然是XML最初發明要解決的問題。

XML也廣泛用於數據消息。它取代了EDI和ASN.1這個角色,因爲它可以處理EDI和ASN.1可以處理的所有複雜數據,但本身就更簡單。最近我們已經看到JSON接管了這個角色,尤其是對於「私有」(與標準化不同)的協議,因爲JSON更簡單,而且對於通用編程語言更好。

與其他成功技術一樣,XML也廣泛用於不真正需要的問題。這不是一種濫用,不僅僅是濫用這個論壇,而是在一個能夠保存豐富格式文本的領域發送純文本信息,或者在設計採用40噸貨車的道路上騎我的自行車:一旦技術已經到位,您不妨使用它。