17.2 建立一个简单的XML文件
介绍一些理论知识之后,下面来做一个实践。在本节中,读者可以使用最上手的文本编辑器,编辑一个完整的XML文档。这个XML文档用来描述图书信息的一些数据,如书名、作者、价格和出版社等。使用XML来描述图书的这些数据,将会使这些信息更加清晰、易读。代码17-1就是所要建立的XML文档的完整代码,读者可以在文本编辑器里输入如下所示的代码,然后按后缀名.xml保存,本书保存名为17-1.xml。
代码17-1 描述图书信息的完整XML文档17-1.xml
01 <?xml version="1.0"encoding="GB2312"?>
02 <books>
03 <book>
04 <title>Learning PHP5</title>
05 <author>David</author>
06 <publisher>White Water Press</publisher>
07 <price>29.90</price>
08 </book>
09 <book>
10 <title>Learning XML</title>
11 <author>Jeffson</author>
12 <publisher>White Water Press</publisher>
13 <price>50.79</price>
14 </book>
15 <book>
16 <title>Using PERL</title>
17 <author>Lucas</author>
18 <publisher>White Water Press</publisher>
19 <price>17.00</price>
20 </book>
21 <book>
22 <title>Windows Networks</title>
23 <author>Paul</author>
24 <publisher>White Water Press</publisher>
25 <price>32.99</price>
26 </book>
27 <book>
28 <title>Fly Leaf</title>
29 <author>Jenny</author>
30 <publisher>White Water Press</publisher>
31 <price>19.50</price>
32 </book>
33 </books>
【代码解析】这段XML代码实际上使用标签描述了5本书的各项信息,每项信息的标签就由这项信息的实际含义命名。例如,用来描述作者的标签就使用<author></author>,价格的标签是<price></price>。而描述整本书的标签就是<book></book>,每本图书的详细信息就包含在<book></book>之内。很明显,描述所有图书的标签就非<books></books>莫属了。
从这个示例XML文件可以看出,一个XML文件的最基本构成如下所示:
❑XML声明
❑XML属性
在代码17-1中,第1行是XML声明,其余都是各个元素。可以使用IE等浏览器打开17-1.xml,看看其显示效果。图17-1就是17-1.xml在IE中浏览的效果图。
从中可以看出一个结构很清晰的数据描述信息。在该页面的最左侧有红色短横线(即减号),使用鼠标左键单击,可以收起该层元素,如图17-2所示。
从图17-2可以看到,前3个“book”元素均被收起,后两个元素展开,这样读者可以进一步清楚地看到XML文档的良好结构。收起后的标签前有一个“+”号,表示这个标签内嵌套着其他元素,该标签可以打开。图17-3是这个XML文档所描述数据的树形结构图,它更清晰地向读者展示了代码17-1所示的XML文档的结构。
事实上,XML构成里还有一项是处理指示,它是可选的,在本章的17.3.5节有对它的简要介绍。
通常,用XML定义的标记语言可以根据标记描述的侧重点不同分为两大类:一类偏重于语意描述,例如上面这个例子;还有一类偏重于显示方式的描述,像现在已经出炉的XHTML等。值得一提的是,这里对于显示方式的描述不仅限于对文本的描述,还可以包括矢量图形、图像、声音。比如,一个形如<EMPHASIZE>的标签在描述文本时可能是要求将文本加粗,而在描述声音时则要求将音量加大。本书侧重介绍第一类情况,有兴趣的读者可以了解一下第二类情况。
本节练习创建一个简单的XML文档,这个文档将会在后续小节中使用。下一小节将从语法角度深入讲解XML。