国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > XML > 正文

XML教程之了解學習 XML 屬性

2024-09-05 20:54:47
字體:
來源:轉載
供稿:網友

與HTML類似,XML元素也可以在開始標簽中包含屬性。

屬性被用于提供關于元素的附加信息。

XML 屬性

XML元素可擁有屬性。

回憶一下HTML的這個標簽:<IMG SRC="computer.gif">。SRC屬性提供了關于img元素的附加信息。

在HTML(以及XML)中,屬性可提供有關元素的附加(額外的)信息:

<img src="computer.gif"><a href="demo.asp">

屬性常常會提供并非數據組成部分的信息。在下面的例子中,文件的類型和數據是無關的,但是對需要處理這個元素的軟件來說卻很重要:

<file type="gif">computer.gif</file>

引號類型,"female" 還是 'female'?

屬性值必須被引號所包圍,不過單引號和雙引號均可使用。比如某人的性別,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文檔:

第一個例子中使用了屬性:

<note date="12/11/2002"><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>

第二個例子中使用了元素:

<note><date>12/11/2002</date><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>

第三個例子中使用了擴展的元素(這是我的最愛):

<note><date>  <day>12</day>  <month>11</month>  <year>2002</year></date><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note> 

避免使用屬性?

我們應當避免使用屬性嗎?

因使用屬性而引起的一些問題:

  • 屬性無法包含多個值(子元素可以)
  • 屬性不易擴展(為未來的變化)
  • 屬性無法描述結構(子元素可以)
  • 屬性更難被編程代碼處理
  • 不易通過某個DTD對屬性值進行測試 - DTD用來定義XML文檔的合法元素

如果您使用屬性作為數據的容器,那么就會造就難以閱讀和維護的文檔。請盡量使用元素來描述數據。而僅僅使用屬性來提供與數據無關的信息。

不要做這樣的蠢事(這不是XML應該被使用的方式):

<note day="12" month="11" year="2002"to="Tove" from="Jani" heading="Reminder" body="Don't forget me this weekend!"></note> 

屬性規則的一個例外

規則總有例外。

有時候,我會向元素分配ID索引。這些ID索引可被用來訪問XML元素,其作用的方式與HTML中的NAME屬性或者ID屬性是一樣的。這個例子向我們演示了這種情況:

<messages>  <note id="p501">    <to>Tove</to>    <from>Jani</from>    <heading>Reminder</heading>    <body>Don't forget me this weekend!</body>  </note>  <note id="p502">    <to>Jani</to>    <from>Tove</from>    <heading>Re: Reminder</heading>    <body>I will not!</body>  </note> </messages>

這個例子中的ID只是一個計數器,或者一個唯一的標識符,用來標示XML文件中不同的便簽,并不是便簽數據的一部分。

在此我們極力向您傳遞的理念是:元數據(有關數據的數據)應當存儲為屬性,而數據本身應當存儲為元素
 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海宁市| 常宁市| 郧西县| 南陵县| 玉田县| 交城县| 高清| 探索| 东明县| 大庆市| 尼玛县| 万宁市| 阿克陶县| 永定县| 洪江市| 西乌| 新竹市| 达拉特旗| 红原县| 长寿区| 三原县| 怀安县| 健康| 江北区| 武清区| 重庆市| 即墨市| 阿克| 大英县| 曲沃县| 洛宁县| 舒兰市| 商水县| 柳林县| 晋江市| 昌图县| 吕梁市| 灌南县| 社会| 海伦市| 湛江市|