文档详情

PHP+XML的增删改查+接口天气预报+金山词霸小案例.docx

发布:2025-06-07约4.12千字共16页下载文档
文本预览下载声明

万能的数据传输格式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)开辟内存空间,形成“面”

显示全部
相似文档