XML文档的的分类:
1.格式不良好的(malformed)的XML文档:完全没有遵循XML文档的基本规范的XML文档。
2.格式良好(well-formed)但无效的XML文档:遵守了XML的基本规范,但没有使用DTD或schema定义语义约束的XML文档。
3.有效(valid)的XML文档:遵守了XML文档的基本规范,并使用了DTD或schema的语义约束,并且遵守定义的语义约束的XML文档。
XML的语法:
一个完整的XML文件应包含以下几个部分:
-文档声明
-元素
-属性
-注释
-CDATA区、特殊字符
-处理指令(processing instruction)
文档声明:
在编写XML文档时,需要先使用文档声明,声明XML文档的类型。
例如:<?xml version=”1.0”?>
用encoding属性说明文档的字符编码:
例如:<?xml version=”1.0” encoding=”GB2312”?>
用standalone属性说明文档是否独立(即是否引用其它资源):
例如:
<?xml version=”1.0” encoding=”GB2312” standalone=”?>
注:常见XML错误
常见错误:
1. <?xml version=1.0 ?>
2. <?xml version=“1.0”?>
3.编码错误
常用的字符集:
简体中文:GBK,GB2312
繁体中文:BIG5
西欧字符:ISO8859-1
通用的国际编码:Unicode,UTF-8
XML本身保存的时候会有默认编码格式,请注意保存时的编码属性,否则会造成访问XML文件时出错。
XML元素的基本规则:
元素是XML文档的基本单元,XML文档就是一个层层元素嵌套的元素组成的。整个XML文档从根元素开始,根元素包含若干个子元素,而每个子元素又可以包含多个子元素,从而可以组织成一个完整的XML文档。
XML的标签分为两类:
单标记:<br/>
双标记:<p></p>
XML标签要求:
1.标签名可以有字母(包含非西欧字符)、数字、下划线、中划线、冒号和点组成,但不能以数字、中划线和点开头。
2.标签名不能包含<>,$等
3.标签名中尽量不要出现冒号,除了使用命名空间之外。
4.标签名不能以xml、XML等任意大小写组合。
5.标签名不能包含空格
6.标签名区分大小写
XML标签嵌套子元素:
XML允许深度的嵌套子元素,但需要保证元素之间合理的嵌套,不能交叉嵌套即可,并且XML标签可以嵌套多个重名的子元素。
<a>
<b></b>
</a>
对于空元素,它不可以接受子元素也不可以接受字符串内容,但它可以接受多个属性。
例如<con name=’bank’/>
对于非空元素可以接受字符串,当标签内无内容时包含的是一个空格,空格也算字符。
例如:<p></p> 这个时候P标签所包含的就是一个字符,
<p>中国</p> 也可以这样包含字符串。
注:在格式良好的xml文档中有且只有一个根标签,且在XML文档中空格与换行符都当做标签内的内容来进行处理。
上篇随笔谈到了XML的一些文档的规范,这篇我们来继续学习与认识XML。
一、特殊字符与CDATA区域
在XML文档中如果文本字符中包含了一些特殊的字符,例如<或者&等等,这些字符会引起XML文档会引起文档的混乱。
解决方法如下:
1. 使用实体引用:使用另一个特殊符号代替这些特殊符号
2. 使用CDATA标记:将整个文档定义成字符串。
在特殊标记CDATA下,所有的特殊字符甚至是有效的元素都将被当成简单的字符串进行处理。实体引用也会失去作用,变成直接文本。
CDATA的语法格式如下:
<![CDATA[文本内容]]>
例如:
<![CDATA][1+3<6]>
在XML文档中的注释方法与HTML中完全一致
XML注释语法格式如下:
<!--注释字符串-->
XML注释中允许包含元素和标签,注释不能放在声明之前,不能在注释中使用双中划线,不能再标签体内使用注释,注释内容不能使用“-->”结尾。
二、XML处理指令
简称PI(processing Instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
XML处理指令用于给处理XML文档的应用程序提供信息,告诉处理程序应该如何解析XML文档,一个完整的XML文档的处理程序,可以读取XML文档的处理指令。
XML处理指令格式如下:
<?处理指令名 处理指令信息?>
例如:<?xml-stylesheet=”text/css” href=”(css样式文件)”?>
这里注意,标签名为中文时,CSS是不起作用的。
三、XML属性
XML属性的特征:
1.XML元素的属性必须有属性值,属性值必须用引号引起来。
2.同一个XML元素不能有多个同名的属性。
3.XML元素里的多个属性之间没有先后顺序。
总结:
1. 必须有一个根元素且只有一个
2. 元素必须合理结束
3. 元素之间必须合理嵌套
4. 元素的属性必须有属性值
只要不满足以上条件的XML文档,那就说明它就不是一个格式良好的XML文档
只要满足就是一个格式良好的XML文档
并且遵守了DTD或者schema就是一个有效的XML文档。
XML文档是一种标准结构化文档,因此可以转换成DOM(Document Object Model)文档模型树,其根节点对应DOM树的根节点。
转自:http://www.cnblogs.com/H_Razor/archive/2011/06/15/xml_01.html