文章教程

17.2建立一个简单的XML文件

9/17/2020 9:26:54 PM 人评论 次浏览

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-1 使用IE查看XML文档

从中可以看出一个结构很清晰的数据描述信息。在该页面的最左侧有红色短横线(即减号),使用鼠标左键单击,可以收起该层元素,如图17-2所示。

图 17-2 IE中收起一些标签的XML文档

从图17-2可以看到,前3个“book”元素均被收起,后两个元素展开,这样读者可以进一步清楚地看到XML文档的良好结构。收起后的标签前有一个“+”号,表示这个标签内嵌套着其他元素,该标签可以打开。图17-3是这个XML文档所描述数据的树形结构图,它更清晰地向读者展示了代码17-1所示的XML文档的结构。

图 17-3 XML文档数据的树形结构图

事实上,XML构成里还有一项是处理指示,它是可选的,在本章的17.3.5节有对它的简要介绍。

通常,用XML定义的标记语言可以根据标记描述的侧重点不同分为两大类:一类偏重于语意描述,例如上面这个例子;还有一类偏重于显示方式的描述,像现在已经出炉的XHTML等。值得一提的是,这里对于显示方式的描述不仅限于对文本的描述,还可以包括矢量图形、图像、声音。比如,一个形如<EMPHASIZE>的标签在描述文本时可能是要求将文本加粗,而在描述声音时则要求将音量加大。本书侧重介绍第一类情况,有兴趣的读者可以了解一下第二类情况。

本节练习创建一个简单的XML文档,这个文档将会在后续小节中使用。下一小节将从语法角度深入讲解XML。

教程类别