XML基本内容学习笔记
XML(eXtensible Markup Language,可扩展标记语言)多用于数据交换和数据存储的一种多用途文本格式语言。XML是由万维网作为SGML的一种代替品开发的。它的语法和HTML相似,不过XML是一种用于语言分析的语言,他并没有要求专门的标记符号、属性或条目。
<?xmlversion="1.0" encoding=“GB2312“ standalone=“yes”?> <?xml-stylesheet type=“text/xsl”href=“mystyle.xsl”?> <!--下面是一个联系人名单列表--> <联系人列表> <联系人> <姓名>张三</姓名> <ID>001</ID> <公司>A公司</公司> <EMAIL> zhang@aaa.com</EMAIL> <电话>(010)62345678</电话> <地址> <街道>五街1234号</街道> <城市>北京市</城市> <省份>北京</省份> </地址> </联系人> </联系人列表> 上面的就是一个经典的XML文档。一个XML文档基本包含:XML声明、处理指令、注释、XML元素等等。
1、MXL的声明: 通知处理软件这是一个XML文档,并通知XML的版本号、字符编码、是否为独立文档。 <?xmlversion=”版本号” encoding=”编码” standalone=”yes|no”?> XML声明由“<?xml“开始,”?>”结束。XML的声明中必须要指明”version”的属性值,同时,声明中还有两个可选的属性,分别是”enconding“和”standalone”。 一个最简单的XML声明: <?xml version=”1.0”?> 一个完整的XML声明: <?xml version=”1.0”enconding=”GB2312” standalone=”no”?>顺序千万不能弄错了。 版本属性(version):他必须在属性类表中排第一位,通常为1.0. 字符编码(enconding):常见的字符编码有:GB2312,BIG5,UTF—8. 独立文档属性(standalone):yes为没有,no表示有 2、处理指令: 处理指令(Process Instruction,简称PI),其格式为:<?处理指示名 处理指示信息?>,如: <?mxl –stylesheet type=”text/xsl” href=”mystyle xsl”?>该处理指令來指定与XML文件配套使用的样式单的类型及文件名。 3、注释:XML注释以<!-- 开始,以 -->结束。注释不要在文档的第一行或标记中,不能嵌套注释。 4、元素: 1)、标记是”<”和”>”之间的文本。标记是以字母或下划线开始的字符串。”< />”为结束标记。 2)、元素包括开始标记、结束标记和二者之间的所有内容。元素中还可以有子元素。形式: <标记>数据</结束标记>。 空元素:<标记></标记>或 <标记 /> <!--两个等价的XML元素--> <br></br> <br/>
3)、属性:是一个元素的开始标记中的名称=值对。一个元素可以有多个属性。例如: 例:<greeting> Hello,World! </greeting> 例:<?xml version=“1.0” encoding=“gb2312” ?> <地址> </地址>
4)根元素:XML文档必须包含在一个单一元素中,这个单一元素称为根元素。 示例1:正确的XML示例: <?xmlversion="1.0"?> <!--A well-formed document --> <greeting>Hello,World! </greeting> 示例2:错误的XML示例 <?xmlversion="1.0"?> <!--An invalid document --> <greeting>Hello,World! </greeting> <greeting>Hola,el Mundo!</greeting> 5)XML元素不能交叉重叠:子元素的开始标记必须在父元素开始标记之后,子元素的结束标记必须在父元素的结束标记之前。 <!--错误的XML--> <p> <b>I <i>really love</b> XML. </i> </p>
<!--正确的XML--> <p> <b>I <i>really love</i></b> <i>XML.</i> </p> 6)、结束标记是必须的,不能省去。 <!--错误的XML --> <p>Yadayadayada... <p>Yadayadayada... <p>... 7)、XML严格区分大小写的。 在 HTML 中,<h1>和 <H1> 是相同的;但是在XML 中,它们是不同的。 8)、属性必须有用引号括起来的值,可以是双引号,也可以是是单引号,但是必须配对。
9)、特殊实体:<、>、&、’、”是XML的保留字,要在XML中使用这些字符,就必须使用如下的特殊实体:
10)、CDATA:在此标记下,所有的标记、XML的保留字都会被忽视,而被XML处理程序当成字符数据看待。CDATA形式:<![CDATA[文本内容]]> 11)实体:是XML中用来指代其他复杂结构的机制。 实体声明:实体的声明应该放在XML声明之后,XML根元素之前。这样一来,XML文件就变为下面的形式: <?xml version=“1.0”?>
12)名称空间:解决命名重复性问题。 XML是一种元标记语言,允许用户定义自己的标记,因此,很可能产生名字重复的情况。为了解决这个问题,W3C在1999年1月颁布了名称空间(NameSpace)标准。
名称空间是用保留属性来声明。例子里的头一条语句中,以“xmlns:”为前缀的两个属性,就是名称空间的声明。 <联系人:联系人列表 xmlns:联系人 ="http://jlu.edu.cn/联系人列表.dtd" xmlns:企业经理 ="http://jlu.edu.cn/企业经理.dtd"> 其中,等号前的属性名部分定义了名称空间前缀,如“联系人”和“企业经理”。 等号后的属性值部分定义了名称空间名,如“http://jlu.edu.cn/企业经理.dtd”。名称空间前缀和名称空间名通过名称空间声明联系起来。特别需要指出的是,这个名称空间名并不是一个真实的地址,而只是一个修饰。例如:前述的http://jlu.edu.cn完全可以写作http://jlu.eee.cc。虽然这里并没有jlu.eee.cc这个真实的地址。 名称空间声明有两种方式:直接定义方式和缺省定义方式: 直接定义 xmlns:名称空间前缀 = “名称空间名” 缺省定义 xmlns = “名称空间名” 在遵循名称空间规范的XML文档中,标记不能包含这样的两个属性: (1)属性名完全相同, (2)或属性的本地部分完全相同,并且其前缀被绑定到相同的名称空间名。 但是,属性中使用缺省名称空间与元素有一点小小的区别:缺省名称空间不直接应用到属性。
注意事项:
在编写XML文档时必须严格遵守XML的基本规定。这样的XML文档被称为格式良好的XML文档。格式良好的XML文档应该满足以下几个主要条件:
文档必须包含一个或多个元素;
文档中只存在一个根元素;
元素必须正确关闭;
元素间不得交叉重叠;
元素中的属性名不能重复;
属性值必须加引号。
以上的学习笔记是个人学习整理出来的XML的基本语法操作,如有错误之处,还望高手多多指点!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |