曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
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 的元素名是比较灵活的,可以包括任意
数目的字母和数字,既可是大写的也可是小写的。可以将XML 标记写成下面的任何样子:
<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.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML实用大全(20)