XML 教程
XML元素具有屬性,類似 HTML。
屬性(Attribute)提供有關(guān)元素的額外信息。
在 HTML 中,屬性提供有關(guān)元素的額外信息:
屬性通常提供不屬于數(shù)據(jù)組成部分的信息。在下面的實例中,文件類型與數(shù)據(jù)無關(guān),但是對需要處理這個元素的軟件來說卻很重要:
屬性值必須被引號包圍,不過單引號和雙引號均可使用。比如一個人的性別,person 元素可以這樣寫:
或者這樣也可以:
如果屬性值本身包含雙引號,您可以使用單引號,就像這個實例:
或者您可以使用字符實體:
請看這些實例:
在第一個實例中,sex 是一個屬性。在第二個實例中,sex 是一個元素。這兩個實例都提供相同的信息。
沒有什么規(guī)矩可以告訴我們什么時候該使用屬性,而什么時候該使用元素。我的經(jīng)驗是在 HTML 中,屬性用起來很便利,但是在 XML 中,您應(yīng)該盡量避免使用屬性。如果信息感覺起來很像數(shù)據(jù),那么請使用元素吧。
下面的三個 XML 文檔包含完全相同的信息:
第一個實例中使用了 date 屬性:
第二個實例中使用了 date 元素:
第三個實例中使用了擴(kuò)展的 date 元素(這是我的最愛):
因使用屬性而引起的一些問題:
屬性難以閱讀和維護(hù)。請盡量使用元素來描述數(shù)據(jù)。而僅僅使用屬性來提供與數(shù)據(jù)無關(guān)的信息。
不要做這樣的蠢事(這不是 XML 應(yīng)該被使用的方式):
有時候會向元素分配 ID 引用。這些 ID 索引可用于標(biāo)識 XML 元素,它起作用的方式與 HTML 中 id 屬性是一樣的。這個實例向我們演示了這種情況:
上面的 id 屬性僅僅是一個標(biāo)識符,用于標(biāo)識不同的便簽。它并不是便簽數(shù)據(jù)的組成部分。
在此我們極力向您傳遞的理念是:元數(shù)據(jù)(有關(guān)數(shù)據(jù)的數(shù)據(jù))應(yīng)當(dāng)存儲為屬性,而數(shù)據(jù)本身應(yīng)當(dāng)存儲為元素。