1.XML概述
1.1XML
XML格式最主要的功能就是数据传输
XML的用途:
程序之间的数据传输通讯 ;
配置文件 config.xml;
存储数据,充当小型数据库。
XML的优势:规范数据格式,使得数据具有结构性,易读易处理。
1.2 什么是XML
XML是指可扩展性标记语言。
XML被发明的目的是传输和存储数据,而非展示数据。
XML的标签必须自定义,但是在写标签名的时候一定要有含义。
XML是W3C推举的数据传输格式。
如何自己写一段XML?
<!-- 文件名 1.2.xml -->
<root> <!-- 根结点 -->
<user>langtaosha</user>
<msg>博主</msg>
</root>
XML和HTML的区别:
(1)HTML标签不能自定义,XML标签只能自定义;
(2)HTML语法要求不严格,XML语法要求及其严格,必须是成对标签;
(3)XML用来传输和存储数据,HTML用来展示数据。
2. XML的基本语法
2.1 语法规则
xml必须有根节点,根节点就是其它所有节点的父节点。
xml的头声明可有可无。但是建议写,“utf-8”这个编码比较有用。
<?xml version="1.0" encoding="utf-8" ?>
<root>
<a>aa</a>
<!-- <a>aa</a> 注释写法-->
<msg> 如果a < b,那么请求证</msg> <!--特殊字符使用实体转义-->
</root>
所有xml元素都必须是成对标签;标签名大小写敏感;标签不能交叉;特殊字符要使用实体转义。
2.2 元素属性
属性:描述标签本身的一些额外信息
<?xml version="1.0" encoding="utf-8" ?>
<root>
<man>
<name> manA </name>
<age> 36 </age>
</man>
<man>
<name age="38">太白</name> <!-- name标签的属性-->
</man>
</root>
属性规则:
一个标签可以有多个属性,属性的值必须用引号引起来;
命名规则:数字字母下划线,数字不能开头。
xml中属性就是鸡肋。在解析xml数据时,属性会带来额外的解析代码。
2.3 CDATA区内容不解析。
<!--<![CDATA[...不解析的内容...]]>-->
特殊字符较少时使用实体替换,较多时使用CDATA。
3.使用PHP解析xml文档
PHP5之后,提供了SimpleXML类库进行xml解析
3.1 解析原理