1.XML介绍
1969年 gml (主要目的是要在不同的机器进行通信的数据规范)
1985年 sgml standard generralized markup language
1993年 html(www网)
1998年 xml extensible markup language
Html本身的一些缺陷
1)标记本身不能自定义
<html></html><zhang></zhang>
2)标记本身缺少含义
<Div id="aa">sadsadsadsa</Div>
3)没有国际化
例如不同的浏览器对于同一个Html的解释是不一样的
html-->xhtml-->xml
2.为什么要学习XML
1) 解决程序间数据传输的格式问题(QQ.MSN.旺旺,GTalk) XMPP
2) 做配置文件(xml,ini,propertity)
3) 充当小型数据库
3.XML语法
入门案例 :用xml来记录一个班级的信息
编码问题ANSI
3.1 XML文档结构
文档声明
元素
属性
注释
CDATA区、特殊字符
处理指令(Processing instruction)
*******************************
3.2文档声明
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
version 版本1.0 1.1
encoding 字符编码
standalone 是否独立使用,默认是no 不常用
字符集:如何将字节拼成字符的一个标准
ISO-8859-1 西欧字符集
UTF-8
GBK 中国国家标准(包含中文字符集标准)
GB2312 简体中文字符集国家标准
Big5 繁体中文字符集标准
ANSI:美国国家标准委员会
3.3 元素(标签)
每个xml文档必须有且只有一个根元素
xml元素指文档中出现的标签,标签分为开始和结束标签
一个标签中可以嵌套若干字标签,不允许交叉嵌套
<Student> <aa>aaaaaaaaaaaaaaaaaaaaa</Student></aa>
如果元素中没有值,则可以直接关闭
<姓名> </姓名>
<爱好/>
XML标签中出现的所有空格和换行,都会被解析成标签内容进行处理
<Student>杨过</Student> <Student> 杨过</Student> <Student> 杨过 </Student>
XML元素可以包含字母、数字及其它一些可见字符:
+++++++++++++++++++++++++++++++++++++++++
+ 1.区分大小写 <div> </Div> +
+ 2.不能以数字或_开头<_Name>aaa</_Name> +
+ 3.不能包含空格 +
+ 4.名称中不能有: +
+++++++++++++++++++++++++++++++++++++++++
3.4 属性
属性值用双引号“或者单引号‘分隔
一个元素可以有多个属性,用空格隔开
同一属性名称在同一元素中只能出现一次
属性值不能为< > &
+++++++++++++++++++++++++++++++++++++++++
+ 转义字符 + + < < + + > > + + & & + + " " + + ' ' +
+++++++++++++++++++++++++++++++++++++++++
3.5 注释
<!--这是一个注释-->
注释不能放在标签中
注释不能嵌套
3.6 CDATA节
+有些内容不想让解析引擎解析执行,而是当作原始内容处理,用于
把整段文本解释为纯字符数据而不是标记的情况。
+包含有大量< > & "字符。
+CDATA节中的所有字符都会被当作元素字符数据的常量部分,而不是
XML标记
+语法:
<![CDATA[ ...... ]]> +可以输入任何字符(除]]>外) +不能嵌套
3.7处理指令(PI[Processing Instruction])
+ 处理指令用来指挥解析引擎如何解析XML文档的内容
例如:在xml中可以使用xml-stylesheet指令,通知XML引擎解析,
应用css文件显示XML文件内容
<?xml-stylesheet type="text/css" href="my.css"?>
+处理指令必须以<?开头 ?>结尾
*****************************************************************
总结:
必须有XML声明语句
<?xml version="1.0" encoding="gb2312"?>
必须有且仅有一个根元素
标记大小写敏感
属性值用引号
标记成对
空标记关闭<aaa/>
元素正确嵌套
4,XML树结构
XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
一个 XML 文档实例
XML 使用简单的具有自我描述性的语法:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
下一行描述文档的根元素(像在说:“本文档是一个便签”):
<note>
接下来 4 行描述根的 4 个子元素(to, from, heading 以及 body):
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
最后一行定义根元素的结尾:
</note>
从本例可以设想,该 XML 文档包含了 John 给 George 的一张便签。
XML 具有出色的自我描述性,你同意吗?
XML 文档形成一种树结构
XML 文档必须包含根元素。该元素是所有其他元素的父元素。
XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
所有元素均可拥有子元素:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。
所有元素均可拥有文本内容和属性(类似 HTML 中)。
实例
上图表示下面的 XML 中的一本书:
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
例子中的根元素是 <bookstore>。文档中的所有 <book> 元素都被包含在 <bookstore> 中。
<book> 元素有 4 个子元素:<title>、< author>、<year>、<price>。
270

被折叠的 条评论
为什么被折叠?



