搜尋
首頁後端開發XML/RSS教程XML指南-XML 屬性

XML指南-XML 屬性

Feb 11, 2017 pm 03:16 PM

  
跟HTML一樣,XML元素再開始標記處可以由元素屬性。
屬性通常包含一些關於元素的額外資訊。

XML屬性
XML元素可以擁有屬性。
你一定還記得這樣的HTML代碼吧: XML指南-XML 屬性。 src是img元素的屬性,提供了關於img元素的額外資訊。
在HTML中 (在XML中也是一樣)元素的屬性提供了元素的額外資訊。

<img  src="/static/imghwm/default1.png"  data-src="computer.gif"  class="lazy"   alt="XML指南-XML 屬性" > 
<a href="demo.asp">


書信提供的資訊通常不是資料的一部分。在下面的例子中,類型和資料毫不相關,但對於操作這個元素的軟體來說卻相當重要。

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


引用風格"female" 還是 'female'?
屬性值必須用引號引著。單引號、雙引號都可以使用。例如一個人的性別,person元素可以這樣寫:

<person sex="female">

也可以這樣寫: 

<person sex=&#39;female&#39;>


上面的兩種寫法在一般情況下是沒有區別的,使用雙引號的應用更普遍一些。但在某些特殊的情況下就必須使用單引號,例如下面的例子:

<gangster name=&#39;George "Shotgun" Ziegler&#39;>


使用子元素還是使用屬性
資料既可以儲存在子元素中也可以儲存在屬性中。
請看下面的例子:

<person sex="female"> 
Anna 
Smith 
 
 
female 
Anna 
Smith 

在第一個例子中,sex是一個屬性,在第二個例子中,sex則是一個子元素。這兩個例子都提供了相同的資訊。
什麼時候用屬性,什麼時候用子元素沒有現成的規則可以遵循。我的經驗是屬性在HTML中可能相當便利,但在XML中,你最好避免使用。



我喜歡的風格
我更願意把資料儲存到子元素中。
下面的三個XML文檔包含了相同的信息:
第一個例子使用了data屬性:

<note date="12/11/99"> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>


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

<note> 
<date>12/11/99</date> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>


第三個例子使用了擴展的data元素: (這是我推薦的樣式):

<note> 
<date> 
<day>12</day> 
<month>11</month> 
<year>99</year> 
</date> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>



避免使用屬性?
應該避免使用屬性麼?
這裡有一些使用屬性引發的問題: 
屬性不能包含多個值(子元素可以)。 
屬性不容易擴充。 
屬性無法描述結構(子元素可以)。 
屬性很難被程式碼處理。 
屬性值很難通過DTD進行測試。 
如果使用屬性來儲存數據,那麼所寫的XML文件一定很難閱讀和操作。盡量使用元素來描述數據,僅使用屬性來描述那些與數據無關的額外資訊。
不要像下面的例子那樣(如果你那麼做了說明你還沒明白上面的觀點)。

<note day="12" month="11" year="99" 
to="Tove" from="Jani" heading="Reminder"  
body="Don&#39;t forget me this weekend!"> 
</note>

屬性規則的例外
規則總是有例外的。
我的關於屬性的規則也有一個例外:
有些時候應該為一個元素設計一個ID引用,透過這個ID可以引用訪問特定的XML元素,就像HTML中的name和id屬性一樣。請看下面的例子:

<messages> 
<note ID="501"> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;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屬性就相當於一個計數器,或者是一個唯一的標識符,在XML文檔中標識不同的便條信息,他不是便條信息的一部分。
我們所要盡力向讀者說明的是:元資料(與資料有關的資料)應該以屬性的方式存儲,而資料本身應該以元素的形式儲存。               

以上是XML指引-XML 屬性的內容,並有更多相關內容請關注PHP中文網(www.php.cn)!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
XML中的RSS:解碼標籤,屬性和結構XML中的RSS:解碼標籤,屬性和結構Apr 24, 2025 am 12:09 AM

RSS是一種基於XML的格式,用於發布和訂閱內容。 RSS文件的XML結構包括根元素、元素和多個元素,每個代表一個內容條目。通過XML解析器讀取和解析RSS文件,用戶可以訂閱並獲取最新內容。

XML在RSS中的優勢:技術深度潛水XML在RSS中的優勢:技術深度潛水Apr 23, 2025 am 12:02 AM

XML在RSS中具有結構化數據、可擴展性、跨平台兼容性和解析驗證的優勢。 1)結構化數據確保內容的一致性和可靠性;2)可擴展性允許添加自定義標籤以適應內容需求;3)跨平台兼容性使其在不同設備上無縫工作;4)解析和驗證工具確保Feed的質量和完整性。

XML中的RSS:揭示內容聯合的核心XML中的RSS:揭示內容聯合的核心Apr 22, 2025 am 12:08 AM

RSS在XML中的實現方式是通過結構化的XML格式來組織內容。 1)RSS使用XML作為數據交換格式,包含頻道信息和項目列表等元素。 2)生成RSS文件需按規範組織內容,發佈到服務器供訂閱。 3)RSS文件可通過閱讀器或插件訂閱,實現內容自動更新。

超越基礎:高級RSS文檔功能超越基礎:高級RSS文檔功能Apr 21, 2025 am 12:03 AM

RSS的高級功能包括內容命名空間、擴展模塊和條件訂閱。 1)內容命名空間擴展RSS功能,2)擴展模塊如DublinCore或iTunes添加元數據,3)條件訂閱根據特定條件篩選條目。這些功能通過添加XML元素和屬性實現,提升信息獲取效率。

XML主鏈:RSS提要如何結構XML主鏈:RSS提要如何結構Apr 20, 2025 am 12:02 AM

RSSFEEDSUSEXMLTOSSTRUCTURECONTUPDATE.1)XMLPROVIDEDIDESAHIERARCHICALSTRUCTUREFFORDATA.2)THEELEMENTDEFINESTHEEFEED'SIDENTITYANDCONTAINS ELEMENT.3)ELEMENTEMERPREPRESERPRESENTERPRESENTIVIDIVIVELPIECTUALPIECES.4)RSSSSSSSSSSSISEXTEXTENSIBLERECTICERSINCREECTINCERINCTICENT.5)

RSS和XML:了解Web內容的動態二重奏RSS和XML:了解Web內容的動態二重奏Apr 19, 2025 am 12:03 AM

RSS和XML是用於網絡內容管理的工具。 RSS用於發布和訂閱內容,XML用於存儲和傳輸數據。它們的工作原理包括內容髮布、訂閱和更新推送。使用示例包括RSS發布博客文章和XML存儲書籍信息。

RSS文檔:Web聯合組織的基礎RSS文檔:Web聯合組織的基礎Apr 18, 2025 am 12:04 AM

RSS文檔是基於XML的結構化文件,用於發布和訂閱頻繁更新的內容。它的主要作用包括:1)自動化內容更新,2)內容聚合,3)提高瀏覽效率。通過RSSfeed,用戶可以訂閱並及時獲取來自不同來源的最新信息。

解碼RSS:內容提要的XML結構解碼RSS:內容提要的XML結構Apr 17, 2025 am 12:09 AM

RSS的XML結構包括:1.XML聲明和RSS版本,2.頻道(Channel),3.條目(Item)。這些部分構成了RSS文件的基礎,允許用戶通過解析XML數據來獲取和處理內容信息。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

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

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具