曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
Hideki Irabu
Starting
Pitcher
13 9 0 29 28 2 1 4.06 173 148 27 79 78 9 6 1 76 126
Mike
Jerzembeck
Starting
Pitcher
0 1 0 3 2 0 0 12.79 6.1 9 2 9 9 0 1 1 4 1
Graeme Lloyd
Relief
Pitcher
3 0 0 50 0 0 0 1.67 37.2 26 3 10 7 2 2 0 6 20
Ramiro
Mendoza
Relief
Pitcher
10 2 1 41 14 1 1 3.25 130.1 131 9 50 47 9 3 0 30 56
Jeff Nelson
Relief
Pitcher
5 3 3 45 0 0 0 3.79 40.1 44 1 18 17 8 2 0 22 35
Andy Pettitte
Starting
Pitcher
16 11 0 33 32 5 0 4.24 216.1 226 20 10 2 6 5 0 87 146
Mariano
Rivera
Relief
Pitcher
3 0 36 54 0 0 0 1.91 61.1 48 3 13 13 1 0 0 17 36
Mike Stanton
Relief
Pitcher
4 1 6 67 0 0 0 5.47 79 71 13 51 48 4 0 0 26 69
Jay Tessmer
Relief
Pitcher
1 0 0 7 0 0 0 3.12 8.2 4 1 3 3 0 1 0 4 6
David Wells
Starting
Pitcher
18 4 0 30 30 8 5 3.49 214.1 195 29 86 83 1 2 0 29 163
XML 實用大全
第 40 頁
熟悉數據庫理論的讀者可能會將XML 模型看作為分支型的數據庫,因而也就認為與分支數據庫具有同樣的缺點(和
少數優點)。許多時候以表為基礎的關系型方法更有實際意義。在本例中,也屬于有實際意義的情況。但是,XML
并不遵循關系模型。
4.2 數據的XML 化
讓我們用XML 處理1998 年的Major League 賽季數據的標記開始。請記住,在XML 內,允許我們創建標記。我們已經決定,
文檔的根元素是賽季(season)。賽季包括聯賽(leagues),而聯賽包括分部(divisions),分部又包括球隊(teams),
球隊包括隊員(players)。隊員的統計數字包括參加的場數(games played)、擊球次數(at bats)、得分數(runs)、
擊中數(hits)、雙壘(doubles)、三壘(triples)、全壘得分(home runs)、擊球得分(runs batted in)、走步數
(walks)和被投手擊中數(hits by pitch)。
4.2.1 開始編寫文檔:XML 聲明和根元素
XML 文檔可由XML 聲明加以識別。這是放在所有XML 文檔的開頭的一條處理指令,標識正在使用的XML 版本。當前可理解的
唯一版本號是1.0。
<?xml version="1.0"?>
每個合格的XML 文檔(所謂合格有特定的意義,這將在下一章中加以討論)必須有一個根元素。這是一個完全包括文檔中其
他所有元素的元素。根元素的起始標記要放在所有其他元素的起始標記之前,而根元素的結束標記要放在所有其他元素的結
束標記之后。對于我們的根元素SEASON,其起始標記是<SEASON>,而結束標記是</SEASON>。文檔現在看起來像下面的樣子:
<?xml version="1.0"?>
<SEASON>
</SEASON>
XML 聲明既不是元素也不是標記。它是處理指令。因而不需要將聲明放在根元素SEASON 之內。但是,我們在文檔中放入的
每個元素都得放在起始標記<SEASON>和結束標記</SEASON>之間。
根元素的這種選擇方法說明我們已經不能在一個文件中保存多個賽季的數據了。如果想要保存多個賽季的數據的話,可以定
義一個新的包括賽季(seasons)的根元素,例如,
<?xml version="1.0"?>
<DOCUMENT>
<SEASON>
</SEASON>
<SEASON>
XML 實用大全
第 41 頁
</SEASON>
</DOCUMENT>
命名約定
在開始之前,我還要說幾句關于命名約定的話。正如我們在下一章中所見到的,XML 的元素名是比較靈活的,可以包括任意
數目的字母和數字,既可是大寫的也可是小寫的?梢詫ML 標記寫成下面的任何樣子:
<SEASON>
<Season>
<season>
<season1998>
<Season98>
<season_98>
這就會有成千上萬種可能的變化。全使用大寫、全使用小寫或是混合大小寫都是可以的。但是,我推薦使用一種約定,并堅
持下去。
當然,我們對所談到的賽季加以標識。為達此目的,可為SEASON 元素定義一個名為YEAR 的子元素。例如:
<?xml version="1.0"?>
<SEASON>
<YEAR>
1998
</YEAR>
</SEASON>
我在此處以及其他例子中使用了縮進,以便指明元素YEAR 是元素SEASON 的子元素,而文本1998 是元素YEAR 的內容。這是
一種很好的編程習慣,但這不是必須的。XML 中的空白沒有特殊的意義。同樣的例子也可寫成下面的樣子:
<?xml version="1.0"?>
<SEASON>
<YEAR>1998</YEAR>
</SEASON>
XML 實用大全
第 42 頁
確實,我經常將元素壓縮到一行上(當一行上可以放得下,而空間又比較緊張時)。還可以將文檔再加以壓縮,即使壓縮成
一行也可以,但這要失去可讀性。例如:
<?xml version="1.0"?><SEASON><YEAR>1998</YEAR></SEASON>
當然這樣的文檔是比較難以閱讀和理解的,這也就是為什么我沒有這樣書寫的原因。XML 1.0 規范中的第十條目的中寫道:
“Terseness in XML markup is of minimal importance.”翻譯成中文是,“XML 標記中的簡捷性是不太重要的。”棒球
示例完全反映出了這個目的。
4.2.2 聯賽(League)、(分部)Division 和(球隊)Team 數據的XML 化
主要棒球聯賽分成兩個聯賽:American League 和National League。每個聯賽都有名稱。兩個名稱可如下編碼:
<?xml version="1.0"?>
<SEASON>
<YEAR>1998</YEAR>
<LEAGUE>
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(20)