當前位置:開發者網絡 >> 技術教程 >> XML教程 >> XML基礎 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
XML指南——XML元素
作者:未知
日期:2005-04-15
人氣:
投稿:(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
  
XML元素是可以擴展的,它們之間有關聯。
XML元素有簡單的命名規則。



XML元素是可以擴展的
XML文檔可以被擴展一邊攜帶更多的信息。
請看下面的XML便條例子:
<note>
<to>Lin</to>
<from>Ordm</from>
<body>Don』t forget me this weekend!</body>
</note>


讓我們來設想一個能夠讀取此XML文檔的並能解讀其中XML元素(<to>, <from>, 和<body>)的軟件,可能的輸出如下:
MESSAGE 
To: Lin
From: Ordm
Don』t forget me this weekend!

我們再來設想,如果便條的作者Ordm在這個XML文檔中加入一些額外的信息,如下所示:
<note>
<date>2002-12-24</date>
<to>Lin</to>
<from>Ordm</from>
<heading>Reminder</heading>
<body>Don』t forget me this weekend!</body>
</note>


那麼原來的應用程序會中斷或者崩潰麼?
不會。應用程序仍然會正確的解讀<to>, <from>, 和<body> 等元素,並且產生同樣的輸出。
XML文檔是可以擴展的!



XML元素是相互關聯的
XML元素之間是父元素和子元素的關係。
為了更好的理解XML術語,必須瞭解XML元素之間的關係如何,以及元素的內容是如何被描述的。
設想有這樣一本書:
署名: XML 指南
第一章: XML入門簡介
什麼是HTML 
什麼是XML 
第二章: XML語法
XML元素必須有結束標記 
XML元素必須正確的嵌套 


我們可以用XML文檔來描述這本書:
<book>
<title>XML 指南</title>
<prod id="33-657" media="paper"></prod>
<chapter>XML入門簡介
<para>什麼是HTML</para>
<para>什麼是XML</para>
</chapter>
<chapter>XML語法
<para>XML元素必須有結束標記</para>
<para>XML元素必須正確的嵌套</para>
</chapter>
</book>


在上面的代碼中,Book元素是XML文檔的根元素,title元素和chapter元素是book元素的子元素。Book元素是title元素和chapter元素的父元素。title元素,prod元素和chapter元素是平級元素,因為他們都有同一個父元素。 



XML元素的內容
XML元素有不同的內容。
XML元素指的是從該元素的開始標記到結束標記之間的這部分內容。
XML元素有元素內容,混合內容,簡單內容或者空內容。每個元素都可以擁有自己的屬性。
在上面的例子中,book元素有元素內容,應為book元素包含了其它的元素。Chapter元素有混合內容,因為它裡面包含了文本和其他元素。para元素有簡單的內容,因為它裡面僅有簡單的文本。prod元素有空內容,因為他不攜帶任何信息。
在上面的例子中,只有prod元素有屬性,id屬性值是33-657,media屬性值是paper。



XML元素命名
XML元素命名必須遵守下面的規則:
元素的名字可以包含子母,數字和其他字符。 
元素的名字不能以數字或者標點符號開頭。 
元素的名字不能以XML(或者xml,Xml,xMl...)開頭。 
元素的名字不能包含空格。 
自己「發明」的XML元素還必須注意下面一些簡單的規則:
任何的名字都可以使用,沒有保留字(除了XML),但是應該使元素的名字具有可讀性,名字使用下劃線是一個不錯的選擇。
例如: <first_name>, <last_name>.
盡量避免使用「-」,「.」,因為有可能引起混亂。
只要你願意元素的名字可以很長,但也不要太誇張了哦。命名應該遵循簡單易讀的原則,例如:<book_title>是一個不錯的名字,而<the_title_of_the_book>則顯得囉嗦了。 
XML文檔往往都對應著數據表,我們應該盡量讓數據庫中的字段的命名和相應的XML文檔中的命名保持一致,這樣可以方便數據變換。
非英文/字符/字符串也可以作為XML元素的名字,例如<藍色理想><經典論壇>這都是完全合法的名字。但是有一些軟件不能很好的支持這種命名,所以盡量使用英文字母來命名。
在XML元素命名中不要使用":",因為XML命名空間需要用到這個十分特殊的字符。
相關文章: