XML学习笔记之蜻蜓点水
(一): XML Overview
一、XML概念:
1,概念:可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可 以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
标记——代码由两部分组成,标记和内容。
扩展——标记完全自定义,可以根据需要自行扩展。
2,作用:用于保存特定的信息,内容为保存的信息,标记用于指定保存信息的含义。
例如:<age>18</age> ------->开始标记 内容 结束标记
3,保存大量数据(扮演数据库角色)的弊端:纯文本格式,效率低。
保存少量数据的优势:数据定义明确,标准化格式,便于维护和管理。
4,主要应用领域:
a,配置文件 ,b,系统信息的交换
5,与HTML的区别:
HTML——超文本标记语言
共同点:都是标记语言
不同点:HTML的标记是指定信息的展示格式。XML的标记指定的是信息内容的含义,HTML的标记预定义,XML 的标记自定义。例如:<p>html</p> <hello>XML</hello>
二、XML的规范:
1,语法要求
a,大小写敏感 <name>易做图</name>与<Name>易做图</Name> 是2个不同的标记。
b,有且仅有一个根标记。
c,开始标记必须对应结束标记。<girl>pretty girl</boy>是错误的,应该为:<girl>pretty girl</girl>。
d,如果标记没有没有可以使用“<标记/>”的格式。例如:<end/>
e,标记之间的关系只有2种:平行或者嵌套,不允许交叉;例如,<a>m<b></a>n</b>是错误的。
f,属性必须写在开始标记中,具有特定的格式,属性值必须以“”或者''包含。例如:<age value="2"></age>;
g,每个标记可以定义任意数量的属性,但属性名称必须不同;
2,XML格式:符合XML语法要求的文件都是XML格式的文件,扩展名有几十种,常用的有.xml .xsd .tld等;
XML文件:扩展名为.xml的文件。
3, <?xml version="1.0" encoding="UTF-8"?> XML的指示信息,用于对XML文件进行说明,可以不写(使用默认 值),如果写必须出现在文件的第一行
注意:如果在文件中出现中文信息,通常将encoding属性设置为gb2312或gbk
语法:<?...?>
4, 注释:<!--... ...-->
注释中的内容不被处理,但如果出现中文,encoding属性也需要作相应的设定
5, 标记
1)标记中可以包含同名标记
2)混合标记——标记中既包含子标记又包含内容
在解析中,混合标记操作相对复杂,通常不建议使用
处理方法:将混合标记中的内容部分替换一个合适的子标记,该标记用于包含内容;
如果内容分散,可以使用多个同名标记;
例如:
<chapter> <chapter>
Chapter information <content>Chapter information</content>
<para>What is XML</para> ---> <para>What is XML</para>
<para>What is HTML</para> <para>What is HTML</para>
More chapter information <content>More chapter information</content>
<chapter> <chapter>
6, XML数据类型:
PCDATA:处理XML时将会对数据进行处理,所有没有说明的内容都属于该类型(99%)。
CDATA:处理XML时不对数据进行处理,需要使用特定的语法进行说明,在内容包含大量
特殊字符时使用较多
例如:
<nameXML>
<![CDATA[
<name common="freddy" breed="springer-spaniel">
Sir Frederick of Ledyard's End
</name>
]]>
</nameXML>
7, 标记和属性的命名:
基本与Java相同,但不能使用"xml*"和"XML*"或者"Xml*"或者"XmL*"作为标记和属性的名称。
8、 DTD和XML Schema
1)DTD:原有的用于约束XML格式的文档格式,存在很多缺点,已经逐渐被XML Schema取代,但仍然有大量的
系统在沿用早期的配置方式(使用DTD)
2)XML Schema:DTD的升级版本
9,命名空间:
1) Java以package形式出现
如com.briup.md02.Student和com.briup.md05.Student
2) xml以namespace形式出现
如<namespace:标记名称>......</namespace:标记名称>
三:XML Schema
1、XML Schema:
1)XML Schema是XML格式,扩展名为.xsd。
2)XML Schema类似于Java中的集合,本身是对象,用于存放对象。
3)XML Schema本身是xml,用于限定xml的格式
2、类型系统:
Schema拥有强大的,具有良好扩展性的类型系统,包括两部分
1)内置类型:如整数,字符串
2)扩展类型(自定义):将内置类型或扩展类型整合定义新的类型,在符合语法要求的情况下可以任意定义。
xsd的格式有国际标准组织定义,其文件结构本质就是定义
Schema类型系统的方式,所有标记定义必须属于"http://www.w3.org/2001/XMLSchema"这个命名空间
3、格式:
1)根标记为<schema>
2)定义xml标记使用
a.使用内置类型
<element name="标记名" type="标记类型"/>
如:<element name="id" type="int"/>
对应的xml文件内容为:<id>100</id>
b.使用扩展类型
<element name="标记名">具体的扩展细节</element>
扩展类型分为:
简单类型<易做图Type>:只包含内容
复杂类型<complexType&
补充:Web开发 , 其他 ,