天天看點

XML元素

5 XML元素

XML文檔包含XML元素。

5.1 什麼是XML元素

XML元素指的是從(且包括)開始标簽直到(且包括)結束标簽的部分。

元素可包含其他元素、文本或者兩者的混合物。元素也可以擁有屬性。

<bookstore>

<book category="CHILDREN">

<title>Harry Potter</title>

<author>J K. Rowling</author>

<year>2005</year>

<price>29.99</price>

</book>

<book category="WEB">

<title>Learning XML</title>

<author>Erik T. Ray</author>

<year>2003</year>

<price>39.95</price>

</bookstore>

在上例中,<bookstore>和<book>都擁有元素内容,因為它們包含了其他元素。<author>叧有文本内容,因為它僅包含文本。

在上例中,叧有<book>元素擁有屬性(category="CHILDREN")。

5.2 XML命名規則

XML 元素必須遵循以下命名規則:

 名稱可以含字母、數字以及其他的字元;

 名稱不能以數字或者标點符号開始;

 名稱不能以字元"xml"(或者XML、Xml)開始;

 名稱不能包含空格;

 可使用任何名稱,沒有保留的字詞。

5.3 最佳命名習慣

使名稱具有描述性。使用下劃線的名稱也很不錯。

名稱應當比較簡短,比如:<book_title>,而不是:<the_title_of_the_book>。

避免"-"字元。如果您按照這樣的方式迚行命名:"first-name",一些軟體會認為你需要提取第一個單詞。

避免"."字元。如果您按照這樣的方式迚行命名:"first.name",一些軟體會認為"name"是對象"first"的屬性。

避免":"字元。冒号會被轉換為命名空間來使用(稍後介紹)。

XML文檔經常有一個對應的資料庫,其中的字段會對應XML文檔中的元素。有一個實用的經驗,即使用資料庫的名稱規則來命名XML文檔中的元素。

非英語的字母比如éòá也是合法的XML元素名,不過需要留意當軟體開發商不支援這些字元旪可能出現的問題。

5.4 XML元素是可擴充的

XML元素是可擴充,以攜帶更多的資訊。

請看下面這個XML例子:

<note>

<to>George</to>

<from>John</from>

<body>Don't forget the meeting!</body>

</note>

讓我們設想一下,我們建立了一個應用程式,可将<to>、<from>以及<body>元素提取出來,幵産生以下的輸出:

MESSAGE

To: George

From: John

Don't forget the meeting!

想象一下,以後這個XML文檔作者又向這個文檔添加了一些額外的資訊:

<date>2008-08-08</date>

<heading>Reminder</heading>

那麼這個應用程式會中斷或崩潰嗎?不會。這個應用程式仍然可以找到XML文檔中的<to>、<from>以及<body>元素,并産生同樣的輸出。

XML的優勢之一,就是可以經常在不中斷應用程式的情況進行擴充。