第17章 操作XML.ppt_第1页
第17章 操作XML.ppt_第2页
第17章 操作XML.ppt_第3页
第17章 操作XML.ppt_第4页
第17章 操作XML.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第17章 操作XML,XML是eXtensible Markup Language可扩展标记语言的简称,其作为数据存放载体技术如今已经成为编程行业的标准。XML由于其自身可扩展的特点被广泛应用于程序与程序之间的数据传递,因为不同种类的数据都可以将XML作为中间数据从而实现数据的无缝兼容。例如,国产的办公套件WPS就使用了XML技术作为中间层来兼容微软的.doc文档或者.xls电子表格格式。不仅在桌面应用领域,而且在Web应用程序上,XML也有着相当广泛的应用。很多的网络编程语言都对XML提供了支持,当然PHP也支持XML的操作。本章就来介绍如何使用PHP对XML文件进行各种操作。在本章中,将重

2、点学习以下内容: 什么是XML 在PHP中使用XML 基于XML的图书管理系统,17.1 什么是XML,在学习使用PHP操作XML之前,需要先了解下到底什么是XML、其特点是什么以及其语法结构是怎么样的。本节就先来回答这些关于XML的最为基本的问题。通过本节内容的学习会使读者对XML有一个大致的了解。,17.1.1 XML简介,XML是eXtensible Markup Language(可扩展标记语言)的缩写。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据。而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML非常简单,易于掌握和

3、使用,而且它的数据描述功能比二进制文件能更快的进行内容检索。 作为数据存储的载体,XML与通常人们所说Access、SQLServer、MySQL和Oracle r等关系型数据库不同。数据库提供了更强有力的数据存储和分析能力,如数据索引、排序、查找、相关一致性等。而XML所能提供的仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是,它极其简单,正是简单性这个特点使XML与众不同。,17.1.2 如何在PHP中使用XML,老版本的PHP并不支持XML,但是用户可以通过创建自定义类来实现对XML的读写操作。而从PHP 5开始,PHP中内置了强大的系统预定义类DOMDocument(文档对象

4、模型)。通过使用该类中的属性与方法可以轻松实现对XML的操作。,17.2 在PHP中使用XML,前一两节为读者介绍了什么是XML以及如何在PHP中使用XML。这一节就来具体介绍在PHP中执行常见的XML操作,其内容包括:解析XML文件内容、向XML中添加记录、修改已有记录以及删除存在的记录等。,17.2.1 解析XML文件内容,解析XML文件就是分析XML文件中的各级节点及其子节点并读取子节点的内容的过程。解析XML,首先需要加载对应的XML文件;然后获取根节点下的节点列表;再通过节点列表获取指定项目;最后来获取下级子节点的值。需要使用以下几个方法及属性: 1load()方法 2getElem

5、entsByTagName()方法 3DOMNodeList对象的item()方法 4DOMNode对象的NodeValue属性,17.2.1 解析XML文件内容,17.2.2 向XML中添加记录,要向XML中添加新的记录,首先要创建一个新的DOMElement对象,然后将新创建的对象添加到指定的DOMNode中,最后还需要把改变过的DOMDocument进行保存。要完成这一过程,需要使用到以下方法: 1DOMDocument对象的createElement()方法 2DOMNode对象的appendChild()方法 3DOMDocument对象的save()方法,17.2.2 向XML中添

6、加记录,17.2.3 修改已有XML记录,除了能向XML添加记录之外,DOMDocument对象还支持修改已经存在的XML记录。要修改存在的记录,首先要创建一个新的DOMNode对象,然后使用新的DOMNode对象替换已经存在的内容。创建DOMNode对象的方法前面17.2.1小节已经涉及,这里重点介绍一下,替换DOMNode的方法: replaceChild()方法。该方法的作用是用指定的节点替换已经存在的子节点,其语法格式如以下代码所示: DOMNode replaceChild(DOMNode $newnode,DOMNode $oldnode),17.2.3 修改已有XML记录,17.

7、2.4 删除指定XML记录,介绍完了读取、添加、修改操作,最后再来介绍删除操作。要删除XML中已经存在的记录,可以通过DOMNode对象的removeChild()方法来实现。该方法的语法格式如以下代码所示: DOMNode removeChild(DOMNode $oldnode) 该方法只需要一个参数,其中的$oldnode即指代需要删除的子节点对象,执行该方法将会把节点对象中的指定子节点删除,这样就实现了删除指定记录的目的。,17.2.4 删除指定XML记录,17.3 基于XML的图书管理系统,上一节介绍了进行XML基本操作的四项内容。但是上一节所介绍的内容都是孤立的不成体系,本节就在上

8、一节介绍的基础上,对这些内容进行整合,来制作一个基于XML的图书管理系统。通过本节内容的学习,读者可以体会到如何在小型数据管理系统中使用XML。,17.3.1 规定XML文件格式,本节所介绍的图书管理系统的XML文件格式仍采用17.2节中所介绍的实例中所使用的格式。此种格式的优点是所有记录都包含在一条根节点中,每个子节点作为一条记录存在,而使用每个子节点的下级子节点来规定记录的属性。这样使数据便于管理,也为后续的数据迁移及转换创造了便利的条件。 在创建所有功能模块之前,先创建一个books.xml,其内容如以下代码所示: ,17.3.2 添加记录,本小节来介绍向库存中添加记录,其中除了使用到为

9、XML加入记录之外,还使用到了表单的知识。因为不可能所有的内容都通过修改添加记录源文件来实现。而与表单相结合,就可以使管理者非常容易的在前台输入需要添加的内容,并在后台自动完成添加到XML的操作。,17.3.2 添加记录,17.3.3 显示记录,【范例17-7】本小节继续来介绍显示记录模块。其中不仅提供了显示所有记录的功能,还为编辑记录及批量删除记录提供了接口。,17.3.4 编辑指定记录,本小节来介绍编辑模块,编辑模块的作用是从前台接收GET的某一项的值,然后显示原有的记录。并提供用户表单界面,以便用户可以输入新的内容,在用户输入新的内容后,将其提交到后台处理。后台使用replaceChild()方法替换相应的记录,从而完成编辑操作。,17.3.4 编辑指定记录,17.3.5 批量删除记录,最后我们来创建批量删除记录模块。该模块的实现原理是:从前台获取所提交的需要删除的项目,然后在后台使用DOMNode的removeChild()方法将指定的项目进行删除,最后并保存XML文件。,17.3.5 批量删除记录,17.4 本章小结,本章为读者介绍了在PHP中如何对XML进行操作。由于XML的特性,在处理较少内容,且需要进行数据的迁移时,使用XML是最为理想的选择。但就数据统计、复杂的运算等方面,使用XML远没有使用数据库方便。在处理XML时重点要熟练掌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论