目录
1.XML基础
2.XML与HTML的比较
3.XML的语法
4.DTD约束
1.XML基础
在开发中,由于不同语言项目之间,数据传递的格式有可能不兼容,导致这些项目在数据传输时变得很困难。为解决此问题,W3C组织推出了一种新的数据交换标准--XML,它是一种通用的数据交换格式,可以使数据在各种应用程序之间轻松地实现数据交换。
XML概述
XML是一种类似HTML的标记语言,称为可扩展标记语言。所谓可扩展,指的是用户可以按照XML规则自定义标记。
例如,中国有很多省份,每个省份下又有很多省份,每个省份下又有很多城市,这些省市之间的关联关系可以通过一张树状结构图来描述。这时,采用XML文件保存这种具有树状结构的数据是最好的选择。下面通过一个XML文档来描述:
<?xml version="1.0" encoding="UTF-8"?> <中国> <河北> <城市>张家口城市> <城市>石家庄城市> 河北> <山西> <城市>太原城市> <城市>大同城市> 山西> 中国>
在XML文档中,通过元素的嵌套关系可以很准确地描述具有树状层次结构的复杂信息。因此,越来越多的应用程序都采用XML格式来存放相关的配置信息,以便读取和修改。
2..XML与HTML的比较
XML和HTML都是标记文本,它们在结构上大致相同,都是以标记的形式来描述信息,但实际上它们有着本质的区别,为了让读者不产生混淆,下面是XML与HTML的比较:
1>HTML被设计出是用来显示数据的,XML被设计出是为了传输和存储数据的。
2>HTML是不区分大小写的,而XML是严格区分大小写的。
3>HTML可以有多个根元素,而格式良好的XML有且只能有一个根元素。
4>HTML中,空格是自动过滤的,而XML中空格则不会自动删除。
5>HTML中的标记是预定义的,而XML中的标记可以根据需要自己定义,并且可扩展。
3.XML的语法
1>.文档声明
在一个完整的XML文档中,必须包含一个XML文档的声明,并且该声明必须位于文档的第一行。这个声明表示该文档是一个XML文档,以及遵循哪个XML版本的规范。XML文档声明的语法格式如下所示:
从上面的语法格式中可以看出,文档声明以符号“”开头,以符号“?>”结束,中间可以声明版本信息、编码信息以及文档独立性信息。下面,针对语法格式中的版本信息、编码信息、文档独立性信息编写一段示例代码,具体如下所示:
在上述代码中,version属性表示XML的版本。目前,最常用的XML版本是1.0,encoding属性用来说明XML文档所使用的编码方式,默认情况下,XML使用的是UTF-8编码方式,standalone属性用来声明这个文档是否是独立的文档,默认情况下,standalone属性的值为no,表示文档依赖于外部文档。
2>.元素定义
在XML文档中,主体内容都是由元素组成。元素一般是由开始标记、属性、元素内容和结束标记构成,具体示例如下:
<城市>北京城市>
上面的示例中,<城市>和城市>就是XML文档中标记,标记的名称也就是元素的名称。在一个元素中可以嵌套若干子元素。如果一个元素没有嵌套在其他元素内,则这个元素包含文本内容,则这样的元素称为空元素,空元素可以不使用结束标记,但必须在起始的标记">"前增加一个“/”来说明该元素是空元素,例如:可以简写成。
3>.属性定义
在XML文档中,可以为元素定义属性。属性是对元素的进一步描述和说明。在一个元素中,可以由多个属性,并且每个属性都有自己的名称和取值,具体示例如下:
<售价 单位=“元”>68售价>
在上面的示例中,<售价>元素中定义了一个属性“单位”。需要注意的是,在XML文档中,属性的命名规范同元素相同,属性值必须要用双引号(“”)或者单引号(‘’)引起来,否则被视为错误。
4>.注释
如果想在XML文档中插入一些附加信息,比如作者姓名、地址、或电话等信息,或者想暂时屏蔽某些XML语句,这时,可以通过注释的方式来实现,被注释的内容会被程序忽略而不被解析和处理。XML注释和HTML注释写法基本一致,具体语法格式如下所示。
4.DTD约束
1>.什么是约束
在显示生活中,如果一篇文章的语法正确,但内容包含违法言论或逻辑错误,这样的文章是不足以发表的。同样,在书写XML文档时,其内容必须满足某些条件的限制,先看一个例子,具体如下:
<书架> <书> <书名>Java就业培训教程书名> <作者 姓名=“小猪”/> <售价 单位=“元”>38售价> <售价 单位=“元”>28售价> 书> 书架>
对于这个示例,尽管XML文档结构式正确的,用IE浏览器打开它也不会出现任何问题,但是,由于XML文档中的标记是可以随意定义的,同一本书出现了两种售价,如果仅根据标记名称区分哪个是原价,哪个是会员价,这个是很难实现的。为此,在XML文档中,定义了一套规则来对文档中的内容进行约束,这套约束称为XML约束。
2>DTD约束
DTD约束时早期出现的一种XML约束模式语言,根据它的语法创建的文件称为DTD文件,在一个DTD文件中,可以包含元素的定义、元素之间关系的定义、元素属性的定义以及实体和符号的定义。
<书架> <书> <书名>Java就业培训教程书名> <作者>小猪作者> <售价>58.00元售价> 书> <书> <书名>EJB3.0入门经典书名> <作者>小狗作者> <售价>39.00元售价> 书> 书架>
~1.在第一行中,使用语句定义了一个元素,其中“书架”是元素的名称,“(书 +)”表示书架元素中有一个或者多个书元素,字符“+”用来表示它所修饰的成分必须出现一次 或者多次。
~2.在第二行中,“书”是元素的名称,“(书名,作者,售价)”表示元素书包含书名、作者、售 价这3个子元素,并且这些子元素要按照顺序依次出现。
~3.在第3~5行,“书名”“作者”和“售价”都是元素的名称,“(#PCDATA)”表示元素中嵌套的内 容是普通的文本字符串。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)