eXtensible Markup Language,XML是一种元标记语言,用户可以定义自己需要的标记。
XML描述的是结构、内容和语义,它不描述页面元素的格式化。
对比:HTML侧重于如何表现信息,内容描述与显示整合为一体。
XML中的每个元素名都是成对出现的。结束标签前加一个/
比如:
xml version="1.0" encoding="UTF-8"?>
<students>
<student id="stu01">
<name>张三name>
<age>13age>
student>
students>
文档的后缀名是xml,每个文档有且仅有一个根元素。
所谓根元素就是包含了其他所有元素的元素。
XML与HTML的对比
HTML的特点:没有表达内容的含义,并且只能用预定义的标记;HTML标记是“肤浅的”,关心的是外观结构层次过于单调,无法真正实现数据交互,链接机制不完善在网上,有很多类型的信息,但是很难找到你想要的信息片段
xml的特点:
使用XML可以实现异构语言、异构平台之间的交互
XML目前只有一个版本,即1.0.
XML是自描述数据,使用现有的国际标准。
XML中有格式正规的XML和有效的XML。本文讲格式正规的。
遵循如下规则的XML文档称为格式正规的XML文档:
语法规范:
必须有XML声明语句;
必须有且仅有一个根元素;
标记大小写敏感;
属性值用引号;
标记成对;
空标记关闭;
元素正确嵌套。
元素语法:
名称中可以包含字母、数字或者其他字符;
名称不能以数字开头;
不能以XML/xml/Xml…开头;
名称中不能含空格;
名称中不能含冒号(注:冒号留给命名空间使用)。
XML解析器是读取XML文档并提供对文档内容的访问的软件模块。
类型:无验证的解释器和验证的解释器。
解析器:MSXML IE、IBM XML4J、Apache Xerces、Oracel XML Parser
XML文档
xml version="1.0" encoding="utf-8" standalone="yes"?>
<students>
<student gender="male">
<sid>001sid>
<sname>南京网博sname>
<address>南京网博address>
<score>100score>
student>
<student gender="female">
<sid>002sid>
<sname>lisisname>
<address>北京address>
<score/>
student>
students>
如其中注释:
处理指令一定要顶格写,前面不能有任何空白。
处理指令的?前面后面都不能有空格。
但元素中的空白是允许的。
文档注释用包围,不允许嵌套,允许多行注释。
XML里面的元素严格区分大小写。XML文档必须有且只有一个根元素。根元素是一个完全包括文档中其他所有元素的元素。
每一个XML文档都以一个XML声明开始,用以指明所用的XML的版本。
XML声明有version 、encoding和standalone特性。
特性是由等号分开的名称-数值对。位于等号左边的是特姓名,而其值位于等号的右边,并用双引号或单引号括起来。
在上例中,version特性表明这个文档符合XML 1.0规范。
XML声明还可以有standalone特性,这告诉我们文档是否在这一个文件里,还是需要从外部导入文件。
encoding 属性指定了编码格式,默认情况下是utf-8,这个属性要放在standalone属性前面。
注意本文文件保存时候默认的编码格式是ANSI,需要利用记事本把它手动改为UTF-8保存。
如上所述,
属性(特性)是由等号分开的名称-数值对。
位于等号左边的是特姓名,而其值位于等号的右边,并用双引号或单引号括起来。
自定义的元素也可以有一个或多个属性,其属性值使用单引号或者双引号括起来。
如果属性值中有双引号则使用单引号,反之亦然。
属性的形式为:
属性名= "属性值",比如gender="male"。
多个属性值之间用空格隔开(一个或多个空格都可以)。
在一个元素上,相同的属性只能出现一次。
属性值不能包含<, >, &。
实体叫ENTITY,实体的作用是避免重复输入。作用相当于宏或者变量。
XML中内置的5种实体:
<;表示 <
>表示 >
&表示:&
";表示:”
&apos;表示:‘
自定义实体的语法
]>
引用已定义的实体:
&实体名;
使用实体的例子
xml version="1.0" encoding="UTF-8"?>
DOCTYPE student[
>
]>
<student>
<sid>s01sid>
<sname>zhangsansname>
<addr>&wb;addr>
student>
执行效果如图所示