首頁 後端開發 XML/RSS教程 XML開發基礎-XML屬性的程式碼詳解

XML開發基礎-XML屬性的程式碼詳解

Mar 25, 2017 pm 05:05 PM

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

屬性 (Attribute) 提供關於元素的額外資訊。

XML屬性

從HTML,你會回想起這個:。 "src" 屬性提供有關元素的額外資訊。

在HTML中(以及在XML中),屬性提供有關元素的額外資訊:

<img src="computer.gif">
<a href="demo.asp">
登入後複製

屬性通常提供不屬於資料組成部分的資訊。在下面的例子中,檔案類型與資料無關,但是對需要處理這個元素的軟體來說卻很重要:

<file type="gif">computer.gif</file>
登入後複製

XML 屬性必須加引號

屬性值必須被引號包圍,不過單引號和雙引號均可使用。例如一個人的性別,person 標籤可以這樣寫:

<person sex="female">
登入後複製

或這樣也可以:

<person sex=&#39;female&#39;>
登入後複製

註解:如果屬性值本身包含雙引號,那麼有必要使用單引號包圍它,就像這個例子:

<gangster name=&#39;George "Shotgun" Ziegler&#39;>
登入後複製

或可以使用實體引用

<gangster name="George "Shotgun" Ziegler">
登入後複製

XML 元素vs. 屬性

請看這些例子:

<person sex="female">
Anna
Smith


female
Anna
Smith
登入後複製

在第一個例子中,sex 是一個屬性。在第二個例子中,sex 則是一個子元素。兩個例子均可提供相同的資訊。

沒有什麼規矩可以告訴我們什麼時候該使用屬性,而什麼時候該使用子元素。我的經驗是在HTML中,屬性使用起來很便利,但在XML中,您應該盡量避免使用屬性。如果資訊感覺起來很像數據,那麼請使用子元素吧。

我最喜歡的方式

下面的三個XML文件包含完全相同的資訊:

第一個範例中使用了date 屬性:

<note date="08/08/2008">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don&#39;t forget the meeting this weekend!</body>
</note>
登入後複製

第二個範例中使用了date 元素:

<note>
<date>08/08/2008</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don&#39;t forget the meeting this weekend!</body>
</note>
登入後複製

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

<note>
<date>
<day>08</day>
<month>08</month>
<year>2008</year>
</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don&#39;t forget the meeting this weekend!</body>
</note>
登入後複製

避免XML屬性?

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

屬性無法包含多個值(子元素可以)

屬性無法描述樹狀結構(子元素可以)

屬性不易擴展(為未來的變化)

屬性難以閱讀和維護

請盡量使用元素來描述資料。而僅使用屬性來提供與資料無關的資訊。

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

<note day="08" month="08" year="2008"
to="George" from="John" heading="Reminder"
body="Don&#39;t forget the meeting this weekend!">
</note>
登入後複製

針對元資料的XML屬性

有時候會指派 ID 參考元素。這些 ID 索引可用來識別XML元素,它運作的方式與HTML中 ID 屬性是一樣的。這個例子向我們演示了這種情況:

<messages>
<note id="501">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don&#39;t forget the meeting this weekend!</body>
</note>
<note id="502">
<to>John</to>
<from>George</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>
登入後複製

上面的 ID 只是一個標識符,用於標識不同的便簽。它並不是便籤資料的組成部分。

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

以上是XML開發基礎-XML屬性的程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

能否用PowerPoint開啟XML文件 能否用PowerPoint開啟XML文件 Feb 19, 2024 pm 09:06 PM

XML檔可以用PPT開啟嗎? XML,即可擴展標記語言(ExtensibleMarkupLanguage),是一種廣泛應用於資料交換和資料儲存的通用標記語言。與HTML相比,XML更加靈活,能夠定義自己的標籤和資料結構,使得資料的儲存和交換更加方便和統一。而PPT,即PowerPoint,是微軟公司開發的一種用於創建簡報的軟體。它提供了圖文並茂的方

C#開發中如何處理XML和JSON資料格式 C#開發中如何處理XML和JSON資料格式 Oct 09, 2023 pm 06:15 PM

C#開發中如何處理XML和JSON資料格式,需要具體程式碼範例在現代軟體開發中,XML和JSON是廣泛應用的兩種資料格式。 XML(可擴展標記語言)是一種用於儲存和傳輸資料的標記語言,而JSON(JavaScript物件表示)是一種輕量級的資料交換格式。在C#開發中,我們經常需要處理和操作XML和JSON數據,本文將重點放在如何使用C#處理這兩種數據格式,並附上

Python的dir()函數:查看物件的屬性和方法 Python的dir()函數:查看物件的屬性和方法 Nov 18, 2023 pm 01:45 PM

Python的dir()函數:查看物件的屬性和方法,需要具體程式碼範例摘要:Python是一種強大而靈活的程式語言,其內建函數和工具為開發人員提供了許多方便的功能。其中一個非常有用的函數是dir()函數,它允許我們查看一個物件的屬性和方法。本文將介紹dir()函數的用法,並透過具體的程式碼範例來示範其功能和用途。正文:Python的dir()函數是一個內建函數,

在Java中使用Jackson函式庫將POJO轉換為XML? 在Java中使用Jackson函式庫將POJO轉換為XML? Sep 18, 2023 pm 02:21 PM

Jackson是一個基於Java的函式庫,它對於將Java物件轉換為JSON以及將JSON轉換為Java物件非常有用。 JacksonAPI比其他API更快,需要更少的記憶體區域,並且適合大型物件。我們使用XmlMapper類別的writeValueAsString()方法將POJO轉換為XML格式,並且需要將對應的POJO實例作為參數傳遞給此方法。語法publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingException範例imp

CSS中bottom屬性語法 CSS中bottom屬性語法 Feb 21, 2024 pm 03:30 PM

CSS中bottom屬性語法及程式碼範例在CSS中,bottom屬性用於指定一個元素與容器底部之間的距離。它可以控制一個元素相對於其父元素底部的位置。 bottom屬性的語法如下:element{bottom:value;}其中,element表示要套用該樣式的元素,value表示要設定的bottom值。 value可以是一個具體的長度值,例如像素

如何使用 PHP 函數處理 XML 資料? 如何使用 PHP 函數處理 XML 資料? May 05, 2024 am 09:15 AM

使用PHPXML函數處理XML資料:解析XML資料:simplexml_load_file()和simplexml_load_string()載入XML檔案或字串。存取XML資料:利用SimpleXML物件的屬性和方法來取得元素名稱、屬性值和子元素。修改XML資料:使用addChild()和addAttribute()方法新增元素和屬性。序列化XML資料:asXML()方法將SimpleXML物件轉換為XML字串。實戰案例:解析產品饋送XML,提取產品信息,轉換並將其儲存到資料庫中。

pageXOffset屬性在JavaScript中的作用是什麼? pageXOffset屬性在JavaScript中的作用是什麼? Sep 16, 2023 am 09:17 AM

如果您想要取得文件從視窗左上角捲動到的像素,請使用pageXoffset和pageYoffset屬性。對水平像素使用pageXoffset。範例您可以嘗試執行以下程式碼來了解如何在JavaScript中使用pageXOffset屬性-現場示範<!DOCTYPEhtml><html>  <head>   <style>  &amp

爐石戰記絕望線縷屬性介紹 爐石戰記絕望線縷屬性介紹 Mar 20, 2024 pm 10:36 PM

絕望線縷是暴雪娛樂旗下佳作《爐石戰記》中的一張稀有卡牌,在「威茲班的工坊」卡包中有機會獲得。可消耗100/400點奧術之塵合成普通/金色版本。爐石戰記絕望線縷屬性介紹答:在威茲班的工坊卡包中有幾率獲得,也可以透過奧術之塵合成。稀有度:稀有類型:法術職業:死亡騎士法力值:1效果:使所有隨從獲得亡語:對所有隨從造成1點傷害

See all articles