PHP+XML的增删改查+接口天气预报+金山词霸小案例.docx
万能的数据传输格式XML下
目录
TOC\o1-3\h\z\u万能的数据传输格式XML下 1
一、PHPXML解析原理 2
1、为什么需要XML解析 2
2、如何进行XML解析(PHP) 2
二、PHP解析XML 2
1、PHPDOM模型 2
1)程序的运行机制: 2
2)XML在内存中解析过程: 2
3)PHPDOM三大关键词(“面”,“串”,“点”) 3
4)PHP解析XML四步走: 3
a)开辟内存空间,形成“面” 4
b)加载XML文件到内存,形成DOM树结构 5
c)找到同级兄弟节点,形成“串” 5
d)获取同级兄弟节点并输出其值 6
2、PHPDOM查询与遍历 7
3、PHPDOM增加操作 8
4、PHPDOM删除操作 10
5、PHPDOM更新操作 11
值更新操作四步走: 11
节点更新操作六步走: 12
6、属性操作 13
1)属性的添加与更新操作 13
2)属性的判断与读取操作 14
3)移除属性 15
作业一:PHP+XML编写CRM客户关系管理系统 16
一、PHPXML解析原理
1、为什么需要XML解析
2、如何进行XML解析(PHP)
PHPDOM模型进行XML解析(增加、修改、删除)
PHPSimpleXML(查询)
二、PHP解析XML
1、PHPDOM模型
1)程序的运行机制:
无论任何程序(js、xml)在运行时,都要经历一下过程:
当我们通过浏览器向服务器端发送请求时,系统首先将要解析的语言加载到系统内存中,并在内存中运行于解析
2)XML在内存中解析过程:
说明:在DOM模型,模型分为两种:
标准的DOM模型(JavaScript)
非标准的DOM模型(PHP)
模型原理图:
3)PHPDOM三大关键词(“面”,“串”,“点”)
4)PHP解析XML四步走:
1、在内存中开辟存储空间——”面”
2、加载XML文件到内存,并形成DOM树结构
3、获取同级兄弟节点——“串”
4、获取指定的文本节点并读取其值——“点”
示例代码:
PHP+XML图书管理系统
1)设计数据库(XML)
a)创建data.xml作为我们的数据库
b)创建根节点library
c)创建book子节点,并存储图书标题、作者、价格
2)解析XML数据
a)开辟内存空间,形成“面”
要用到的知识点:
DOMDocument
参数说明:
$version:xml版本号,采用1.0
$encoding:编码格式,utf-8
运行效果如下:
b)加载XML文件到内存,形成DOM树结构
要用到的知识点:
参数说明:
$filename:要载入xml文件的名称
c)找到同级兄弟节点,形成“串”
要用到的知识点
DOMNodeList
参数说明:
$length:获取到当前串的长度
item(索引,默认从0开始):获取指定节点
getElementsByTagName()
参数说明:
$name:要获取元素(标签、标记)的名称
d)获取同级兄弟节点并输出其值
要用到的知识点:
参数说明:
$index:通过索引获取指定元素
运行结果:
通过观察运行结果,可知该数据返回的是DOMElement类型,而手册是采用DOMNode,为什么?
答:主要是由于DOMElement继承了DOMNode所以返回类型在手册上是采用DOMNode
输出结果如下:
2、PHPDOM查询与遍历
运行效果:
3、PHPDOM增加操作
增加四步走:
1)开辟面空间
2)载入xml到内存,形成DOM树
3)创建节点并追加
4)保存内存数据到XML文件中
要用到的知识点:
参数说明:
$name:创建的节点名称
$value:可选参数,创建节点的值
参数说明:
$newnode:追加的新节点名称(要求类型为DOMElement或DOMNode)
参数说明:
$filename:要保存的xml文件名称
示例代码:
运行效果:
4、PHPDOM删除操作
删除操作五步走:
1)开辟内存空间,形成“面”
2)载入xml文件到内存
3)找到要删除的节点
4)找到其父节点并移除其指定的子节点
5)保存内存数据到xml文件中
要用到的知识点:
参数说明:
$oldnode:要移出的节点
示例代码:
运行结果:
5、PHPDOM更新操作
在PHPDOM更新操作分为两种:
1)值操作,只更新某个节点的值信息(通过nodeValue属性设置即可)
2)节点操作,需要特定的函数辅助完成(通过replaceChild方法设置即可)
值更新操作四步走:
1)开辟内存空间,形成“面”