现在我们暂且使用“记事本”来创建我们的XML文件吧。先看一个XML文件:
例1
〈?xml version="1.0" encoding="gb2312" ?〉
〈参考资料〉
〈书籍〉
〈名称〉XML入门精解〈/名称〉
〈作者〉张三〈/作者〉
〈价格 货币单位="人民币"〉20.00〈/价格〉
〈/书籍〉
〈书籍〉
〈名称〉XML语法〈/名称〉
〈!--此书即将出版--〉
〈作者〉李四〈/作者〉
〈价格 货币单位="人民币"〉18.00〈/价格〉
〈/书籍〉
〈/参考资料〉
这是一个典型的XML文件,编辑好后保存为一个以.xml为后缀的文件。我们可以将此文件分为文件序言(Prolog)和文件主体两个大的部分。在此文件中的第一行即是文件序言。该行是一个XML文件必须要声明的东西,而且也必须位于XML文件的第一行,它主要是告诉XML解析器如何工作。其中,version是标明此XML文件所用的标准的版本号,必须要有;encoding指明了此XML文件中所使用的字符类型,可以省略,在你省略此声明的时候,后面的字符码必须是Unicode字符码(建议不要省略)。因为我们在这个例子中使用的是GB2312字符码,所以encoding这个声明也不能省略。在文件序言部分还有一些声明语句,我们在后面给予介绍。
文件的其余部分都是属于文件主体,XML文件的内容信息存放在此。我们可以看到,文件主体是由开始的〈参考资料〉和结束的〈/参考资料〉控制标记组成,这个称为XML文件的“根元素”;〈书籍〉是作为直属于根元素下的“子元素”;在〈书籍〉下又有〈名称〉、〈作者〉、〈价格〉这些子元素。货币单位是〈价格〉元素中的一个“属性”,“人民币”则是“属性值”。
〈!--此书即将出版--〉这一句同HTML一样,是注释,在XML文件里,注释部分是放在“〈!--”与“--〉”标记之间的部分。
大家可以看到,XML文件是相当简单的。同HTML一样,XML文件也是由一系列的标记组成,不过,XML文件中的标记是我们自定义的标记,具有明确的含义,我们可以对标记中的内容的含义作出说明。
对XML文件有了初步的印象之后,我们就来详细地谈一谈XML文件的语法。在讲语法之前,我们必须要了解一个重要的概念,就是XML解析器(XML Parse)。
1.XML解析器
解析器的主要功能就是检查XML文件是否有结构上的错误,剥离XML文件中的标记,读出正确的内容,以交给下一步的应用程序处理。XML是一种用来结构化文件信息的标记语言,XML规范中对于如何标记文件的结构性有一个详细的法则,解析器就是根据这些法则写出来的软件(多用Java写成)。同HTML一样,在浏览器中,必须有HTML的解析器,这样浏览器才能够“读懂”各种用HTML标记所组成的网页,将它们显示在我们面前。如果有浏览器的HTML解析器读不懂的标记,将会返回给我们错误信息。