XML入门精解之结构与语法(1)

sbyuntiankong

sbyuntiankong

2016-02-19 12:49

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享XML入门精解之结构与语法(1)教程,希望对大家能有一点小小的帮助。
 

■创建XML文件的工具
  XML文件和HTML文件一样,实际上是一个文本文件。显然大家立刻就会明白,创建XML文件最普通的工具和HTML一样,
就是“记事本”了。除了“记事本”之外,当然还有一些更加方便的工具,如XML Notepad、XML Pro、CLIP!XML Editor
等,这些工具的一大特点是:能够检查你所建立的XML文件是否符合XML规范。不过,现在这些工具都只有英文版的,并且
需要付费使用。当然,你仍然能够使用FrontPage、DreamWeaver等工具,不过使用起来不是很方便。随着XML的逐渐普及,
相信在不久后,也会出现非常好用的创建XML文件的工具。
  ■一个XML文件的例子
  现在我们暂且使用“记事本”来创建我们的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解析器(XML Parse)。
  1.XML解析器
  解析器的主要功能就是检查XML文件是否有结构上的错误,剥离XML文件中的标记,读出正确的内容,以交给下一步的
应用程序处理。XML是一种用来结构化文件信息的标记语言,XML规范中对于如何标记文件的结构性有一个详细的法则,解
析器就是根据这些法则写出来的软件(多用Java写成)。同HTML一样,在浏览器中,必须有HTML的解析器,这样浏览器才
能够“读懂”各种用HTML标记所组成的网页,将它们显示在我们面前。如果有浏览器的HTML解析器读不懂的标记,将会返
回给我们错误信息。
  由于现在的HTML标记实际上相当混乱,存在大量不规范的标记(有的网页用IE能正常显示,而用Netscape Navigator
则不行),所以从一开始,XML的设计者就严格规定了XML的语法和结构,我们编写的XML文件必须遵循这些规定,否则XML
解析器将毫不留情地给你显示错误信息。
  有两种XML文件,一种是Well-Formed XML文件,一种是Validating XML文件。
  如果一个XML文件满足XML规范中的某些相关法则,且没有使用DTD(文件格式定义——后详述)时,可称这份文件是
Well-Formed。而如果一个XML文件是Well-Formed,且正确地使用了DTD,DTD中的语法又是正确的,那么这个文件就是
Validating。对应两种XML文件,有两种XML解析器,一种是Well-Formed 解析器,一种是Validating解析器。IE 5中就内
含Validating解析器,Validating解析器也可用来解析Well-Formed XML文件。
  检查它是否满足了Well-Formed的条件。我们可以将刚才编辑的第一个XML 文件用IE 5以上版本的浏览器打开。
  大家可能要问为什么在浏览器中的显示和我的源文件一样?没错,因为对于XML文件,我们仅仅关心它的内容,而它的
显示形式是交给CSS或XSL来完成的。这里,我们并没有给这个XML文件定义它的CSS或XSL文件,所以它按照原来的形式来显
示。实际上,对于电子数据交换,仅仅需要一个XML文件即可,如果要将它以某种形式显示出来,我们就必须编辑CSS或XSL
文件(这个问题会在以后讨论)。
  2.Well-Formed的XML文件
  我们知道,XML必须是Well-Formed的,才能够被解析器正确地解析出来,显示在浏览器中。那么什么是Well-Formed的
XML文件呢?主要有下面几个准则,我们在创建XML文件的时候,必须满足它们。
  首先,XML文件的第一

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)行必须是声明该文件是XML文件以及它所使用的XML规范版本。在文件的前面不能够有其它元素或
者注释。
  第二,在XML文件中有且只能够有一个根元素。我们的第一个例子中,〈参考资料〉... 〈/参考资料〉就是此XML文件
的根元素。
  第三,在XML文件中的标记必须正确地关闭,也就是说,在XML文件中,控制标记必 须有与之对应的结束标记。如:
〈名称〉标记必须有对应的〈/名称〉结束标记,不像HTML,某些标记的结束标记可有可无。如果在XML文件中遇到自成一
个单元的标记,就是类似于HTML 中的〈img src=.....〉的这些没有结束标记的时候,XML把它称为“空元素”,必须用这
样的写法:〈空元素名/〉,如果元素中含有属性时写法则为:〈空元素名 属性名=“属性值”/〉。
  第四,标记之间不得交叉。在以前的HTML文件中,可以这样写:
  〈B〉〈H〉XXXXXXX〈/B〉〈/H〉,〈B〉和〈H〉
  标记之间有相互重叠的区域,而在XML中,是严格禁止这样标记交错的写法,标记必须以规则性的次序来出现。
  第五,属性值必须要用“ ”号括起来。如第一个例子中的“1.0”、“gb2312”、“人民币”。都是用“ ”号括起来
了的,不能漏掉。
  第六,控制标记、指令和属性名称等英文要区分大小写。与HTML不同的是,在HTML中, 类似〈B〉和〈b〉的标记含义
是一样的,而在XML中,类似〈name〉、〈NAME〉或〈Name〉这样的标记是不同的。
  第七,我们知道,在HTML文件中,如果我们要浏览器原封不动地将我们所输入的东西显示出来,可以将这些东西放到
〈pre〉〈/pre〉或者〈xmp〉〈/xmp〉标记中间。这对于我们创建HTML教学的网页是必不可少的,因为网页中要显示HTML
的源代码。而在XML中,要实现这样的功能,就必须使用CDATA标记。在CDATA标记中的信息被解析器原封不动地传给应用程
序,并且不解析该段信息中的任何控制标记。CDATA区域是由:“〈![CDATA[”为开始标记,以“]]〉”为结束标记。例
如:例2中的源码,除了“〈![CDATA[”和“]]〉”符号,其余的内容解析器将原封不动地交给下游的应用程序,即使
CDATA区域中的开始和结尾的空白以及换行字符等,都同样会被转交(注意CDATA是大写的字符)。
  例2
  〈![CDATA[飞翔的xml〉〉〉〉〉,:-)
  oooo〈〈〈〈〈〈〈
  ]]〉
  第八,XML处理空白字符和HTML不一样。HTML标准规定,不管有多少个空白,都当作一个空白来处理;而在XML中规
定,所有标记以外的空白,解析器都要忠实地交给下游的应用程序处理。这样,我们有时必须摒弃编写HTML文件时的缩排
习惯,因为缩排的空格,解析器也要处理。如:
   〈作者〉张三〈/作者〉
  和
   〈作者〉
   张三
   〈/作者〉
  上述内容对于解析器来说是不同的(后者在〈作者〉〈/作者〉标记之内除了张三这个字符以外,还包括两个换行记号
展开更多 50%)
分享

猜你喜欢

XML入门精解之结构与语法(1)

Web开发
XML入门精解之结构与语法(1)

XML入门精解之结构与语法

Web开发
XML入门精解之结构与语法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

XML入门精解之结构与语法(2)

Web开发
XML入门精解之结构与语法(2)

XML入门精解之文件格式定义

Web开发
XML入门精解之文件格式定义

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

XML入门指南(3)XML语法

Web开发
XML入门指南(3)XML语法

大话XML(3)XML的语法1

Web开发
大话XML(3)XML的语法1

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

XML DOM 初学者指南

XML DOM 初学者指南

利用钩子捕捉鼠标信息的一个问题

利用钩子捕捉鼠标信息的一个问题
下拉加载更多内容 ↓