1.XML汗青
gml(1969)->sgml(1985)->html(1993)->xml(1998)
1969 gml(通用标记言语),重要目标是要在差别的机械之间举行通讯的数据范例
1985 sgml(规范通用标记言语)
1993 html(超文本标记言语,www网)
html言语自身是有一些缺点的
(1)不能自定义标签
(2)html自身缺乏寄义
(3)html没有真正的国际化有一个中心过渡言语,xhtml:
html->xhtml->xml
1998 xml extensiable markup language 可扩大标记言语
2.为何须要XML
1.需求1
两个顺序间举行数据通讯?
2.需求2
给一台服务器,做一个设置文件,当服务器顺序启动时,去读取它应该监听的端口号,另有衔接数据库的用户名和暗码?
在XML言语中,它许可用户自定义标签。一个标签用于形貌一段数据;一个标签能够分为最先标签和完毕标签,在最先标签和完毕标签之间,又能够运用其他标签形貌其他数据,以此来完成数据关联的形貌。
3.XML罕见运用
1.XML的涌现处置惩罚了顺序间数据传输的题目:
比方QQ之间的数据传送,用XML花样来传送数据,具有优越的可读性,可保护性
2.XML能够做设置文件
XML文件做设置文件能够说异常广泛,比方我们的Tomcat服务器的server.xml,web.xml。再比方我们的structs中的structs-config.xml文件,和hibernate的hibernate.cfg.xml等等。
3.XML能够充任小型的数据库
XML文件能够做小型数据库,也是不错的挑选,我们顺序中能够用到一些常常要人工设置的数据,假如放在数据库中读取不合适(因为这会增添保护数据库的事情),则能够斟酌直接用XML来做小型数据库。这类体式格局直接读取文件明显要比读数据库快。比方msn中保留用户聊天纪录就是用XML文件。
入门案例:用XML来纪录一个班级信息。
<?xml version="1.0" encoding="gb2312"?><class> <stu id="001"> <name>杨过</name> <sex>男</sex> <age>20</age> </stu> <stu id="002"> <name>小龙女</name> <sex>女</sex> <age>21</age> </stu></class>
我们能够用浏览器翻开:
那末我们的XML能不能像html那样显现在网页上呢?也是能够的,它也能够用css来润饰,但我们不必,我们只须要运用XML来存储数据。
在这个例子中,假如我们把第一行的编码改成utf-8,再用浏览器翻开会报错,这是为何呢?
因为xml文件的默许编码是ANSI,即美国国家规范协会制订的编码,它依据差别的国家和地区制订了差别的规范,那末在中国就是GB2312,所以我们用GB2312编码不会失足,而用UTF-8会报错。
处置惩罚办法就是将该XML文件更改成UTF-8的编码形式即可。
4.XML语法
一个XML文件分为以下几部份内容:
1.文档声明
2.元素
3.属性
4.解释
5.CDATA区、特别字符
6.处置惩罚指令(processing instruction)
4.1.XML语法-文档声明
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
XML声明放在XML文档的第一行
XML声明由以下几个部份构成:
version –文档相符XML1.0范例,我们进修1.0
encoding –文档字符编码,比方”GB2312”或许”UTF-8”
standalone –文档定义是不是自力运用
standalone=”no”为默许值。yes代表是自力运用,而no代表不是自力运用
4.2.XML语法-元素(或许叫标记、节点)
(1)每一个XML文档必需有且只要一个根元素
根元素是一个完整包括文档中其他一切元素的元素
根元素的肇端标纪要放在一切其他元素的肇端标记之前
跟元素的完毕标纪要放在一切其他元素的完毕标记以后
(2)XML元素指的是XML文件中涌现的标签,一个标签分为最先标签和完毕标签,一个标签有以下几种誊写体式格局,比方
包括标签体:
<a>www.sohu.com</a>
不含标签体的:
<a></a>,简写为:<a/>
(3)一个标签中也能够嵌套多少子标签。但一切标签必需合理地嵌套,相对不许可交织嵌套,比方
<a>welcome to <b> www.sohu.com </a></b>
这类状况肯定是要报错的。
(4)关于XML标签中涌现的一切空格和换行,XML剖析顺序都邑当作标签内容举行处置惩罚。例以下面两段内容的意义是不一样的。
<stu>xiaoming</stu>
和以下:
<stu> xiaoming</stu>
(5)因为在XML中,空格和换行都作为原始内容被处置惩罚,所以,在编写XML文件时,要特别注意。
(6)定名范例:一个XML元素能够包括字母、数字以及别的一些可见字符,但必需恪守以下范例:
辨别大小写,比方,元素P和元素p是两个差别的元素
不能以数字或下划线”_”开首
元素内不能包括空格
称号中心不能包括冒号(:)
能够运用中文,但平常不这么用
4.3.XML语法-属性
<student id="100"> <name>Tom</name></student>
(1)属性值用双引号(”)或单引号(’)分开,假如属性值中有单引号,则用双引号分开;假如有双引号,则用单引号分开。那末假如属性值中既有单引号另有双引号怎么办?这类要运用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符,以下:
(2)一个元素能够有多个属性,它的基础花样为:
<元素名 属性名1="属性值1" 属性名2="属性值2">
(3)特定的属性称号在同一个元素标记中只能涌现一次
(4)属性值不能包括<,>,&,假如一定要包括,也要运用实体
4.4.XML语法-解释
XML的解释类似于HTML中的解释:
<!--这是一个解释-->
(1)解释内容不要涌现
--
(2)不要把解释放在标记中心;
(3)解释不能嵌套
(4)能够在除标记之外的任何地方放解释
4.5.XML语法-CDATA节
假如有这么一个需求,须要经由过程XML文件通报一幅图片,怎么做呢?实在我们看到的电脑上的一切文件,本质上都是字符串,不过它们都是特别的二进制字符串。我们能够经由过程XML文件将一幅图片的二进制字符串通报过去,然后再剖析成一幅图片。那末这个字符串就会包括大批的<,>,&或许“等一些特别的不合法的字符。这时候剖析引擎是会报错的。
所以,有些内容能够不想让剖析引擎剖析实行,而是当作原始内容处置惩罚,用于把整段文本解释为纯字符数据而不是标记。这就要用到CDATA节。
语法以下:
<![CDATA[ ...... ]]>
CDATA节中能够输入恣意字符(除]]>
外),然则不能嵌套!
以下例,这类状况它不会报错,而假如不包括在CDATA节中,就会报错:
<stu id="001"> <name>杨过</name> <sex>男</sex> <age>20</age> <intro><![CDATA[ad<<&$^#*k]]></intro></stu>
4.6.XML语法-处置惩罚指令
处置惩罚指令,简称PI(processing instruction)。处置惩罚指令用来指导剖析引擎怎样剖析XML文件,看下面一个例子:
比方我们也能够运用css款式表来润饰XML文件,编写my.css以下:
name{ font-size:80px; font-weight:bold; color:red; } sex{ font-size:60px; font-weight:bold; color:blue; } sex{ font-size:40px; font-weight:bold; color:green; }
我们在xml文件中运用处置惩罚指令引入这个css文件,以下:
<?xml version="1.0" encoding="gb2312"?> <?xml-stylesheet href="my.css" type="text/css"?><class> <stu id="001"> <name>杨过</name> <sex>男</sex> <age>20</age> </stu> <stu id="002"> <name>小龙女</name> <sex>女</sex> <age>21</age> </stu></class>
这时候我们再用浏览器翻开这个xml文件,会发明浏览器剖析出一个带款式的视图,而不再是纯真的目次树了:
然则XML的处置惩罚指令不请求控制,因为用到的很少。
5.花样正规的XML文档-小结
语法范例:
1.XML声明语句
2.必需有一个根元素
3.标记大小写敏感
4.属性值用引号
5.标记成对
6.空标记封闭
7.元素准确嵌套
1.XML汗青
gml(1969)->sgml(1985)->html(1993)->xml(1998)
1969 gml(通用标记言语),重要目标是要在差别的机械之间举行通讯的数据范例
1985 sgml(规范通用标记言语)
1993 html(超文本标记言语,www网)
html言语自身是有一些缺点的
(1)不能自定义标签
(2)html自身缺乏寄义
(3)html没有真正的国际化有一个中心过渡言语,xhtml:
html->xhtml->xml
1998 xml extensiable markup language 可扩大标记言语
2.为何须要XML
1.需求1
两个顺序间举行数据通讯?
2.需求2
给一台服务器,做一个设置文件,当服务器顺序启动时,去读取它应该监听的端口号,另有衔接数据库的用户名和暗码?
在XML言语中,它许可用户自定义标签。一个标签用于形貌一段数据;一个标签能够分为最先标签和完毕标签,在最先标签和完毕标签之间,又能够运用其他标签形貌其他数据,以此来完成数据关联的形貌。
3.XML罕见运用
1.XML的涌现处置惩罚了顺序间数据传输的题目:
比方QQ之间的数据传送,用XML花样来传送数据,具有优越的可读性,可保护性
2.XML能够做设置文件
XML文件做设置文件能够说异常广泛,比方我们的Tomcat服务器的server.xml,web.xml。再比方我们的structs中的structs-config.xml文件,和hibernate的hibernate.cfg.xml等等。
3.XML能够充任小型的数据库
XML文件能够做小型数据库,也是不错的挑选,我们顺序中能够用到一些常常要人工设置的数据,假如放在数据库中读取不合适(因为这会增添保护数据库的事情),则能够斟酌直接用XML来做小型数据库。这类体式格局直接读取文件明显要比读数据库快。比方msn中保留用户聊天纪录就是用XML文件。
入门案例:用XML来纪录一个班级信息。
<?xml version="1.0" encoding="gb2312"?><class> <stu id="001"> <name>杨过</name> <sex>男</sex> <age>20</age> </stu> <stu id="002"> <name>小龙女</name> <sex>女</sex> <age>21</age> </stu></class>
我们能够用浏览器翻开:
那末我们的XML能不能像html那样显现在网页上呢?也是能够的,它也能够用css来润饰,但我们不必,我们只须要运用XML来存储数据。
在这个例子中,假如我们把第一行的编码改成utf-8,再用浏览器翻开会报错,这是为何呢?
因为xml文件的默许编码是ANSI,即美国国家规范协会制订的编码,它依据差别的国家和地区制订了差别的规范,那末在中国就是GB2312,所以我们用GB2312编码不会失足,而用UTF-8会报错。
处置惩罚办法就是将该XML文件更改成UTF-8的编码形式即可。
4.XML语法
一个XML文件分为以下几部份内容:
1.文档声明
2.元素
3.属性
4.解释
5.CDATA区、特别字符
6.处置惩罚指令(processing instruction)
4.1.XML语法-文档声明
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
XML声明放在XML文档的第一行
XML声明由以下几个部份构成:
version –文档相符XML1.0范例,我们进修1.0
encoding –文档字符编码,比方”GB2312”或许”UTF-8”
standalone –文档定义是不是自力运用
standalone=”no”为默许值。yes代表是自力运用,而no代表不是自力运用
4.2.XML语法-元素(或许叫标记、节点)
(1)每一个XML文档必需有且只要一个根元素
根元素是一个完整包括文档中其他一切元素的元素
根元素的肇端标纪要放在一切其他元素的肇端标记之前
跟元素的完毕标纪要放在一切其他元素的完毕标记以后
(2)XML元素指的是XML文件中涌现的标签,一个标签分为最先标签和完毕标签,一个标签有以下几种誊写体式格局,比方
包括标签体:
<a>www.sohu.com</a>
不含标签体的:
<a></a>,简写为:<a/>
(3)一个标签中也能够嵌套多少子标签。但一切标签必需合理地嵌套,相对不许可交织嵌套,比方
<a>welcome to <b> www.sohu.com </a></b>
这类状况肯定是要报错的。
(4)关于XML标签中涌现的一切空格和换行,XML剖析顺序都邑当作标签内容举行处置惩罚。例以下面两段内容的意义是不一样的。
<stu>xiaoming</stu>
和以下:
<stu> xiaoming</stu>
(5)因为在XML中,空格和换行都作为原始内容被处置惩罚,所以,在编写XML文件时,要特别注意。
(6)定名范例:一个XML元素能够包括字母、数字以及别的一些可见字符,但必需恪守以下范例:
辨别大小写,比方,元素P和元素p是两个差别的元素
不能以数字或下划线”_”开首
元素内不能包括空格
称号中心不能包括冒号(:)
能够运用中文,但平常不这么用
4.3.XML语法-属性
<student id="100"> <name>Tom</name></student>
(1)属性值用双引号(”)或单引号(’)分开,假如属性值中有单引号,则用双引号分开;假如有双引号,则用单引号分开。那末假如属性值中既有单引号另有双引号怎么办?这类要运用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符,以下:
(2)一个元素能够有多个属性,它的基础花样为:
<元素名 属性名1="属性值1" 属性名2="属性值2">
(3)特定的属性称号在同一个元素标记中只能涌现一次
(4)属性值不能包括<,>,&,假如一定要包括,也要运用实体
4.4.XML语法-解释
XML的解释类似于HTML中的解释:
<!--这是一个解释-->
(1)解释内容不要涌现
--
(2)不要把解释放在标记中心;
(3)解释不能嵌套
(4)能够在除标记之外的任何地方放解释
4.5.XML语法-CDATA节
假如有这么一个需求,须要经由过程XML文件通报一幅图片,怎么做呢?实在我们看到的电脑上的一切文件,本质上都是字符串,不过它们都是特别的二进制字符串。我们能够经由过程XML文件将一幅图片的二进制字符串通报过去,然后再剖析成一幅图片。那末这个字符串就会包括大批的<,>,&或许“等一些特别的不合法的字符。这时候剖析引擎是会报错的。
所以,有些内容能够不想让剖析引擎剖析实行,而是当作原始内容处置惩罚,用于把整段文本解释为纯字符数据而不是标记。这就要用到CDATA节。
语法以下:
<![CDATA[ ...... ]]>
CDATA节中能够输入恣意字符(除]]>
外),然则不能嵌套!
以下例,这类状况它不会报错,而假如不包括在CDATA节中,就会报错:
<stu id="001"> <name>杨过</name> <sex>男</sex> <age>20</age> <intro><![CDATA[ad<<&$^#*k]]></intro></stu>
4.6.XML语法-处置惩罚指令
处置惩罚指令,简称PI(processing instruction)。处置惩罚指令用来指导剖析引擎怎样剖析XML文件,看下面一个例子:
比方我们也能够运用css款式表来润饰XML文件,编写my.css以下:
name{ font-size:80px; font-weight:bold; color:red; } sex{ font-size:60px; font-weight:bold; color:blue; } sex{ font-size:40px; font-weight:bold; color:green; }
我们在xml文件中运用处置惩罚指令引入这个css文件,以下:
<?xml version="1.0" encoding="gb2312"?><?xml-stylesheet href="my.css" type="text/css"?><class> <stu id="001"> <name>杨过</name> <sex>男</sex> <age>20</age> </stu> <stu id="002"> <name>小龙女</name> <sex>女</sex> <age>21</age> </stu></class>
这时候我们再用浏览器翻开这个xml文件,会发明浏览器剖析出一个带款式的视图,而不再是纯真的目次树了:
然则XML的处置惩罚指令不请求控制,因为用到的很少。
5.花样正规的XML文档-小结
语法范例:
XML声明语句
2.必需有一个根元素
3.标记大小写敏感
4.属性值用引号
5.标记成对
6.空标记封闭
7.元素准确嵌套
以上就是XML—XML引见和基础语法的内容,更多相关内容请关注ki4网(www.ki4.cn)!