20150202--XML下01

万能的数据传输格式XML

目录

万能的数据传输格式XML下............................................................................................. 1

一、PHP XML解析原理..................................................................................................... 3

1、为什么需要XML解析........................................................................................... 3

2、如何进行XML解析(PHP).................................................................................. 3

二、PHP DOM解析XML.................................................................................................... 3

1、PHP DOM模型...................................................................................................... 3

1)程序的运行机制:......................................................................................... 3

2)XML在内存中解析过程:.............................................................................. 4

3)PHP DOM三大关键词(“面”,“串”,“点”)................................................... 4

4)PHP解析XML四步走:................................................................................. 4

a)开辟内存空间,形成“面”............................................................................... 5

b)加载XML文件到内存,形成DOM树结构...................................................... 6

c)找到同级兄弟节点,形成“串”........................................................................ 6

d)获取同级兄弟节点并输出其值....................................................................... 7

2、PHP DOM查询与遍历........................................................................................... 8

3、PHP DOM增加操作............................................................................................... 9

4、PHP DOM删除操作............................................................................................. 11

5、PHP DOM更新操作............................................................................................. 12

值更新操作四步走:......................................................................................... 12

节点更新操作六步走:..................................................................................... 13

6、属性操作............................................................................................................ 14

1)属性的添加与更新操作................................................................................ 14

2)属性的判断与读取操作................................................................................ 15

3)移除属性..................................................................................................... 16

作业一:PHP+XML编写CRM客户关系管理系统.............................................................. 17

三、PHP SimpleXML实现对XML的增删改查..................................................................... 17

1、载入XML文件到内存,并形成SimpleXML对象.................................................... 17

2、如何输入指定文本节点的值................................................................................ 18

3、如何遍历输出所有数据?................................................................................... 19

4、如何输出属性?................................................................................................. 20

5、扩展案例:查询天气预报并给出相应的建议....................................................... 21

6、simplexml添加节点............................................................................................. 22

7、simplexml修改与删除操作.................................................................................. 23

四、Xpath....................................................................................................................... 24

1、使用绝对路径查询数据....................................................................................... 24

2、使用相对路径查询数据....................................................................................... 26

3、通过星号*查询所有数据..................................................................................... 27

4、使用[]方括号进行条件查询................................................................................. 28

5、通过@符号进行属性查询.................................................................................... 28

6、扩充xpath中的[]条件查询.................................................................................. 29

五、案例:在线词霸....................................................................................................... 30

1、界面设计............................................................................................................ 30

2、设计数据库........................................................................................................ 30

3、后台系统设计..................................................................................................... 31

4、前台功能实现:................................................................................................. 31

作业二:在线词霸.......................................................................................................... 32

一、PHP XML解析原理

1、为什么需要XML解析

2、如何进行XML解析(PHP)

PHP DOM模型进行XML解析(增加、修改、删除)

PHP SimpleXML(查询)

二、PHP DOM解析XML

1、PHP DOM模型

1)程序的运行机制:

无论任何程序(js、xml)在运行时,都要经历一下过程:

当我们通过浏览器向服务器端发送请求时,系统首先将要解析的语言加载到系统内存中,并在内存中运行于解析

2)XML在内存中解析过程:

说明:在DOM模型,模型分为两种:

标准的DOM模型(JavaScript)

非标准的DOM模型(PHP)

模型原理图:

3)PHP DOM三大关键词(“面”,“串”,“点”)

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、PHP DOM查询与遍历

运行效果:

3、PHP DOM增加操作

增加四步走:

1)开辟面空间

2)载入xml到内存,形成DOM树

3)创建节点并追加

4)保存内存数据到XML文件中

要用到的知识点:

参数说明:

$name :创建的节点名称

$value :可选参数,创建节点的值

参数说明:

$newnode :追加的新节点名称(要求类型为DOMElement或DOMNode)

参数说明:

$filename:要保存的xml文件名称

示例代码:

运行效果:

4、PHP DOM删除操作

删除操作五步走:

1)开辟内存空间,形成“面”

2)载入xml文件到内存

3)找到要删除的节点

4)找到其父节点并移除其指定的子节点

5)保存内存数据到xml文件中

要用到的知识点:

参数说明:

$oldnode:要移出的节点

示例代码:

运行结果:

5、PHP DOM更新操作

在PHP DOM更新操作分为两种:

1)值操作,只更新某个节点的值信息(通过nodeValue属性设置即可)

2)节点操作,需要特定的函数辅助完成(通过replaceChild方法设置即可)

值更新操作四步走:

1)开辟内存空间,形成“面”

2)载入xml文件到内存,形成dom树

3)找到要更新的节点,更新其值

4)保存内存数据到XML文件中

示例代码:

运行结果:

节点更新操作六步走:

1)开辟内存空间,形成“面”

2)载入xml文件到内存

3)创建新节点

4)找到旧节点

5)找到父节点,然后用新节点替换老节点

6)保存内存数据到XML文件中

要用到的知识点:

参数说明:

$newnode:创建的新节点

$oldnode:要更新的旧节点

示例代码:

运行结果:

6、属性操作

1)属性的添加与更新操作

要用到的知识点:

在属性的添加与更新操作用到的是同一个方法setAttribute,当当前元素无属性时,系统会自动添加属性,如果已存在,则更新其值

参数说明:

$name:属性名称

$value:属性的值

示例代码:

运行效果:

2)属性的判断与读取操作

bool DOMElement::hasAttribute ( string $name ) :判断当前元素是否具有某一属性

bool DOMNode:: hasAttributes ( void ) :判断当前元素是否具有属性

string DOMElement::getAttribute( string $name ) :获取元素的属性

参数说明:

$name :属性名称

示例代码:

运行效果:

3)移除属性

要用到的知识点:

bool DOMElement::removeAttribute ( string $name )

参数说明:

$name:要移出的属性名称

示例代码:

运行结果:

作业一:PHP+XML编写CRM客户关系管理系统

1)要有后台登陆界面以及后台界面

2)数据库是采用xml文件存储的

config.xml :保存用户名与密码

3)可以进入后台,录入客户数据

姓名、年龄、行业、地址、电话

4)通过列表也能查询到相关的用户数据

时间: 2024-11-03 21:43:11

20150202--XML下01的相关文章

修改air for android Manifest.xml下默认的screenOrientation

最近工作中有这个需求,需要修改AIR for android 生成的apk里的 android:screenOrientation="user"为android:screenOrientation="landscape".原因是一些平台的sdk接入air for android下会出现home键返回界面消失,starling失去焦点的bug.如果改成android:screenOrientation="landscape" ,android:la

解决idea不能自动下载maven配置文件pom.xml下的jar包依赖的问题

表现:无法下载pom配置文件中的依赖包,或只能下载少数包,各项配置都正确的情况 理由未知: 百度了很长一段时间,网上给出比较精准的解决之一是 setting>>maven>>去掉work offline 的勾.(这里肯定是去掉勾的) 在刚开始百度时,work offine 是出于未被勾选的状态, 然后在网上不断百度,不断试验不同的处理方式, 例如:pom文件中有重复的依赖导致不能下载,等等(这也是可能性之一) 在经历几次重启 Intellij idea 和Invalidate ca

【转】在Eclipse环境下配置Servlet开发环境

配置这个真心坑···浪费我一下午时间,而且去网上找了一圈资料发现都不靠谱呀= = 于是自己写一个,防止忘记了 一.配置前准备 你需要下载三个东西 Eclipse J2EE:http://www.eclipse.org/downloads/ Tomcat 7.0:http://tomcat.apache.org/download-70.cgi Eclipse Tomcat插件:http://www.eclipsetotale.com/tomcatPlugin.html 安装好Eclipse J2E

第八章xml学习

1.ASP.NET和JSP的关系 ASP.NET 和JSP都是用来开发动态网站的技术,只不过ASP.NET是通过c#语言来操作的, 而JSP是通过Java语言来操作的. 2.为什么学习XML? 01.跨平台(操作系统),就是在windowns操作系统和Linux操作系统上均可以被解析 02.跨开发语言 03.超市管理系统      一家店   Access(文件型数据库) 每天看一下每个门市销售业绩         SQL Server数据库      Oralce 先将Access中的数据表导

Android 生成和PULL解析xml

一.单个对象生成xml 生成以下xml,该怎么生成呢? <?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <account> <id>1</id> <password>123456</password> <name>传说之美</name> <createDate>2015-02-02 11:50:42</createDate>

DOM创建、修改、删除XML

和js生成html类似: 生成这样xml 主要步骤: 1:先创建"天龙八部"文本节点 2:再创建普通的name节点 3:再把天龙文本节点,加入到name节点中 4:创建cdata节点, 5:创建intro节点 6:再把cdata节点放入intro中 7:创建goods节点 8:把name,intro放入goods节点 9:创建属性节点goods_id 10:把属性节点放入goods节点 11:创建appstore节点 12:把goods放入appstore节点 13:把appsotor

W3School -- HTML4.01学习笔记

HTML不是一种编程语言而是一种标记语言,标记语言是一套标记标签,HTML使用标记标签来描述网页. 标签属性:有一对尖括号包含关键字组成,一般成对出现,第一个标签叫开始标签(开放标签),第二个标签叫结束标签(闭合标签). HTML文档 == 网页 ,HTML文档描述网页,文档包含HTML标签和文本. 成对出现的标签,如<a></a>,其中结束标签的"/"前面不能有空格等,否则标签不会被识别. HTML元素是指从开始标签到结束标签的所有代码.没有内容的元素被称为空

关于tomcat下startup.bat双击闪退的问题

背景:之前做单点登录,复制了几个tomcat,改了各自端口,当做不同服务器用. 今天无意间随便点击了一个tomcat下的startup.bat批处理文件,结果出来控制台,没出几行信息就闪退了.点击其他几个tomcat的startup.bat,也一样的结果,顿时感觉莫名其妙,之前都用得好好的啊,其中一个还集成在eclipse里面的啊. 英语菜鸡,百度一下,大部分都说是java与tomcat环境变量配置的问题: 比如这样: 还比如这样: 我去,JAVA环境变量没配好的原因自己挨板子去,你们竟然提出要

ajax中网页传输(三)XML——下拉列表显示练习

XML:页面之间传递数据,跨平台传递 HTML:超文本标记语言,核心标签 XML的形势为 <xml version='1.0'> <Nation> <one> <code>n001</code> <name>汉族</name> </one> <two> <code>n002</code> <name>苗族</name> </two> <