XML 屬性概述
導讀 | XML元素具有屬性,類似 HTML。屬性(Attribute)提供有關元素的額外資訊。 |
在 HTML 中,屬性提供有關元素的額外資訊:
<img src="computer.gif"> <a href="demo.html">
屬性通常提供不屬於資料組成部分的資訊。在下面的例項中,檔案型別與資料無關,但是對需要處理這個元素的軟體來說卻很重要:
<file type="gif">computer.gif</file>
屬性值必須被引號包圍,不過單引號和雙引號均可使用。比如一個人的性別,person 元素可以這樣寫:
<person sex="female">
或者這樣也可以:
<person sex='female'>
如果屬性值本身包含雙引號,您可以使用單引號,就像這個例項:
<gangster name='George "Shotgun" Ziegler'>
或者您可以使用字元實體:
<gangster name="George "Shotgun" Ziegler">
請看這些例項:
<person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
<person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
在第一個例項中,sex 是一個屬性。在第二個例項中,sex 是一個元素。這兩個例項都提供相同的資訊。
沒有什麼規矩可以告訴我們什麼時候該使用屬性,而什麼時候該使用元素。我的經驗是在 HTML 中,屬性用起來很便利,但是在 XML 中,您應該儘量避免使用屬性。如果資訊感覺起來很像資料,那麼請使用元素吧。
下面的三個 XML 文件包含完全相同的資訊:
第一個例項中使用了 date 屬性:
<note date="10/01/2008"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
第二個例項中使用了 date 元素:
<note> <date>10/01/2008</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
第三個例項中使用了擴充套件的 date 元素(這是我的最愛):
<note> <date> <day>10</day> <month>01</month> <year>2008</year> </date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
因使用屬性而引起的一些問題:
- 屬性不能包含多個值(元素可以)
- 屬性不能包含樹結構(元素可以)
- 屬性不容易擴充套件(為未來的變化)
屬性難以閱讀和維護。請儘量使用元素來描述資料。而僅僅使用屬性來提供與資料無關的資訊。
不要做這樣的蠢事(這不是 XML 應該被使用的方式):
<note day="10" month="01" year="2008" to="Tove" from="Jani" heading="Reminder" body="Don't forget me this weekend!"> </note>
有時候會向元素分配 ID 引用。這些 ID 索引可用於標識 XML 元素,它起作用的方式與 HTML 中 id 屬性是一樣的。這個例項向我們演示了這種情況:
<messages> <note id="501"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> <note id="502"> <to>Jani</to> <from>Tove</from> <heading>Re: Reminder</heading> <body>I will not</body> </note> </messages>
上面的 id 屬性僅僅是一個識別符號,用於標識不同的便籤。它並不是便籤資料的組成部分。
在此我們極力向您傳遞的理念是:後設資料(有關資料的資料)應當儲存為屬性,而資料本身應當儲存為元素。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2840956/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XML DOM – 屬性和方法概述XML
- XML屬性XML
- Android XML 屬性AndroidXML
- [UWP]依賴屬性1:概述
- 給自定義View新增xml屬性ViewXML
- XMl 檔案屬性的讀取XML
- XML 元素概述XML
- Android開發-TextViev XML屬性(一)AndroidXML
- Hibernate 對映xml中的屬性型別XML型別
- XML 樹結構概述XML
- XML伺服器概述XML伺服器
- XML 語法規則概述XML
- XML DOM Parse Error 物件概述XMLError物件
- XML DOM 解析器概述XML
- XML DOM 載入函式概述XML函式
- CMake 屬性之全域性屬性
- iOS動畫 屬性屬性解析iOS動畫
- defer 屬性和 async 屬性
- XML DOM 解析器錯誤概述XML
- XML DOM 瀏覽器差異概述XML瀏覽器
- xml--概述,快速入門,約束XML
- 多型性概述多型
- CSS 屬性篇(七):Display屬性CSS
- CMake 屬性之目標屬性
- CMake 屬性之目錄屬性
- JavaScript私有屬性和靜態屬性JavaScript
- android:佈局引數,控制元件屬性及各種xml的作用Android控制元件XML
- CSS字型屬性和文字屬性詳解CSS
- 私有屬性
- allowfullscreen 屬性
- background 屬性
- cssText 屬性CSS
- translucent屬性
- parentStyleSheet屬性
- cssRules 屬性CSS
- background屬性
- jQuery 屬性jQuery
- 屬性動畫動畫