文章目录
- 1、XML概述
- 1.1、什么是XML
- 1.2、XML和HTML的区别
- 2、XML基本语法
- 2.1、XML语法规则
- 2.2、书写注意点
- 2.3、属性
- 2.4、CDATA
- 3、PHP解析XML原理
- 4、XPath语言
1、XML概述
1.1、什么是XML
- XML即可扩展性标记语言
- XML的
目的
是传输
和存储数据
,不是展示数据 - XML的标签必须自定义,没有官方标签,但是自定义标签要遵循一定规则。
- XML是W3C推举的数据传输格式。
很多配置文件都是XML写的。
1.2、XML和HTML的区别
- HTML的标签不能自定义,XML标签必须自定义
- HTML用来展示数据,XML用来传输和存储数据
2、XML基本语法
2.1、XML语法规则
- 必须有根节点,所有XML标签写在根标签内,根标签也是自定义。
- XML的头声明可以不写,但是建议写上。
<?xml version="xml版本号" encoding="编码格式" ?>
。 - 所有XML标签都必须成对出现。
- 标签名区分大小写。
2.2、书写注意点
- 注释和HTML一样
- 特殊字符需要转义为实体
需要转义的字符如下:
特殊字符 | 实体 |
---|---|
< | < |
> | > |
& | & |
’ 单引号 | ' |
" 双引号 | " |
2.3、属性
- 属性就是描述标签的额外信息。
- 一个标签可以有多个属性。
- 命名规则:属性可以是:数字、字母、下划线,但是不能一数字开头。
- 属性值必须用引号包裹。
- 属性基本不怎么使用。
- 在解析XML数据时,属性会带来额外的解析代码。
示例:
代码语言:javascript复制<root>
<user sex="man"> 人</user>
</root>
sex就是user标签的属性
2.4、CDATA
- 当我们有些数据不需要被XML解析,希望原文传输,或者特殊字符太多懒得使用实体,的时候就要用到CDATA。
- 语法格式:
<![CDATA[ 不解析的内容 ]]>
- 注意:CDATA在标签内使用,且必须大写。
- 示例:
<ifo><![CDATA[ 如果1>2>3>4<5<8<0... ]]></ifo>
3、PHP解析XML原理
PHP用面向对象的思维来解析数据,通过key来获取value。
解析步骤又三大步:
- 读取XML到内存。
- 形成DOM数。
- 由DOM数生成对象并返回。
- 将根节点解析为一个大对象,
- 将所有同名标签放在一个数数组里,
- 每一个标签又对应一个对象,通过对象属性来获取值。
4、XPath语言
- XPath:是一门专门用来查找XML数据内容的一门语言。
- 用来在XML文档中对元素及属性进行遍历。
- 语法:https://www.runoob.com/xpath/xpath-syntax.html