XML 元素
XML 文檔包含 XML 元素。
什么是 XML 元素?
XML 元素指的是從(且包括)開始標(biāo)簽直到(且包括)結(jié)束標(biāo)簽的部分。
元素可包含其他元素、文本或者兩者的混合物。元素也可以擁有屬性。
<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> </book> </bookstore>
在上例中,<bookstore> 和 <book> 都擁有元素內(nèi)容,因?yàn)樗鼈儼似渌亍?lt;author> 只有文本內(nèi)容,因?yàn)樗鼉H包含文本。
在上例中,只有 <book> 元素?fù)碛?em>屬性 (category="CHILDREN")。
XML 命名規(guī)則
XML 元素必須遵循以下命名規(guī)則:
- 名稱可以含字母、數(shù)字以及其他的字符
- 名稱不能以數(shù)字或者標(biāo)點(diǎn)符號開始
- 名稱不能以字符 “xml”(或者 XML、Xml)開始
- 名稱不能包含空格
可使用任何名稱,沒有保留的字詞。
最佳命名習(xí)慣
使名稱具有描述性。使用下劃線的名稱也很不錯(cuò)。
名稱應(yīng)當(dāng)比較簡短,比如:<book_title>,而不是:<the_title_of_the_book>。
避免 "-" 字符。如果您按照這樣的方式進(jìn)行命名:"first-name",一些軟件會認(rèn)為你需要提取第一個(gè)單詞。
避免 "." 字符。如果您按照這樣的方式進(jìn)行命名:"first.name",一些軟件會認(rèn)為 "name" 是對象 "first" 的屬性。
避免 ":" 字符。冒號會被轉(zhuǎn)換為命名空間來使用(稍后介紹)。
XML 文檔經(jīng)常有一個(gè)對應(yīng)的數(shù)據(jù)庫,其中的字段會對應(yīng) XML 文檔中的元素。有一個(gè)實(shí)用的經(jīng)驗(yàn),即使用數(shù)據(jù)庫的名稱規(guī)則來命名 XML 文檔中的元素。
非英語的字母比如 éòá 也是合法的 XML 元素名,不過需要留意當(dāng)軟件開發(fā)商不支持這些字符時(shí)可能出現(xiàn)的問題。
XML 元素是可擴(kuò)展的
XML 元素是可擴(kuò)展,以攜帶更多的信息。
請看下面這個(gè) XML 例子:
<note> <to>George</to> <from>John</from> <body>Don't forget the meeting!</body> </note>
讓我們設(shè)想一下,我們創(chuàng)建了一個(gè)應(yīng)用程序,可將 <to>、<from> 以及 <body> 元素提取出來,并產(chǎn)生以下的輸出:
MESSAGE
To: George
From: John
Don't forget the meeting!
想象一下,之后這個(gè) XML 文檔作者又向這個(gè)文檔添加了一些額外的信息:
<note> <date>2008-08-08</date> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
那么這個(gè)應(yīng)用程序會中斷或崩潰嗎?
不會。這個(gè)應(yīng)用程序仍然可以找到 XML 文檔中的 <to>、<from> 以及 <body> 元素,并產(chǎn)生同樣的輸出。
XML 的優(yōu)勢之一,就是可以經(jīng)常在不中斷應(yīng)用程序的情況進(jìn)行擴(kuò)展。