2010-12-15 54 views
2

我一直認爲XML是數據的來源,而不是數據的表達,但是我已經與市場營銷人員合作過,他們喜歡將想法出售給客戶,XML是可以在瀏覽器中查看的文檔。我試着解釋說它只是數據組件,而且這個觀點是分開的,但是我用這種方法取得了有限的成功。我假設XML是一個數據存儲區嗎?XML是輕量級數據庫還是文檔?

+2

XML是一種語法。你還稱之爲什麼取決於你如何使用它。 – skaffman 2010-12-15 14:57:40

+1

我想知道什麼樣的客戶將準備好在瀏覽器中查看和使用XML數據。 – 2010-12-15 14:58:58

+0

@MainMa你會感到驚訝,有時它已經是老派的COBOL程序員,仍然掛在那裏;-) – bakoyaro 2010-12-15 15:00:46

回答

2

XML是一種存儲數據的結構化方式。它可以是數據庫和文檔。

這是一個數據庫,它包含與某種格式匹配的數據,您可以讀取或修改這些數據。

它是一種將文件中的一些數據存儲在文檔中的文檔,如Word文檔或Photoshop圖像。

當然,它是而不是數據的呈現,並且對於任何非IT人員,必須呈現XML才能使用。

0

XML是一種數據格式。 HTML是一種將XML用於文檔的方法(通過賦予數據特定的含義)。 CSS用於HTML樣式。 XML本身並沒有做到這一點。它只是存儲信息。某些瀏覽器將純XML呈現爲突出顯示的樹,但這不是XML的屬性。這是瀏覽器用它做的事情。你可以添加CSS等到XML,但不能確保它是這樣顯示的。 XML本身只是一個數據容器。

3

你是對的:XML不是一種演示語言。它旨在存儲數據。

但是,這並不妨礙您利用其他技術(如XSLCSS)來格式化並顯示存儲在XML文檔中的數據。

+1

要添加到Cody Gray的聲明,請在此處鏈接到XSL信息..http://www.w3schools.com/xsl/ – DerekH 2010-12-15 15:04:11

+3

Downvoters,請說明原因。你認爲XML是一種演示語言嗎?你是否不同意使用其他技術來格式化並呈現XML文件包含的數據? – 2010-12-15 15:07:27

+0

我同意,來了一次,然後每個人都回到零..可能希望他們的答案將達到頂部與一票... – DerekH 2010-12-15 15:10:41

3

好吧,現在你很難對XML是什麼,不是什麼,不應該用什麼簡潔的陳述。有一些用於數據交換,應用程序配置,數據存儲的XML示例,您可以將其命名。這不需要考慮諸如OML,XAML等的改編。

回顧XML的起源可能會有所幫助,如this article,以及經常提出的criticisms

這是來自作者Effective XML的一個有趣的引用。

XML不是數據庫。從來沒有 意味着一個數據庫。它永遠不會是 成爲一個數據庫。關係型數據庫 經過驗證的技術有 超過20年的執行經驗 。他們是堅實,穩定, 有用的產品。他們不會去 。 XML是一種非常有用的技術,用於在不同的 數據庫之間或在數據庫和 其他程序之間移動數據。但是,它本身不是 數據庫。不要像 之一那樣使用它。

+2

我明白這句話,但不同意作者的想法,數據庫總是關係... – DerekH 2010-12-15 15:17:06

2

顧名思義,XML是(可擴展的)標記(語言)。您可以將它用於文檔,將簡單的數據存儲在其中,因爲上帝知道什麼(嚴格來說,所有這些都是某種信息)。它常用的數據,是的。但我認爲它不如JSON或YAML等極輕量級數據格式更好 - 樹是非常通用的強大的,所以它們可以用相對較少的彎曲表示大多數數據,但它們不是大多數數據的最自然表示。想想列表或鍵值對...你必須將它們建模爲許多葉子或許多具有兩個葉子的小分支。

這不是傳統意義上的數據庫,至少不是一個有效的數據庫。想一想:爲了從中獲取數據,你需要完全解析數據,在這樣做的時候構建一棵大樹,然後搜索那棵樹來獲取你想要的信息。是的,那是因爲它非常靈活,但這正是問題所在。或者,當然,您使用SAX並使用較少的內存 - 但這仍然是線性搜索。

雖然將數據存儲在與數據庫無關的問題上可能很有用 - 這也是因爲它的靈活性。

+1

對於XML而言,+1不是技術意義上的數據庫。 XML作爲序列化技術更有用,而不是用作實時數據庫。 – 2010-12-15 15:08:38