PHP学习笔记----xml编程

来源:互联网 发布:nothing软件邀请码 编辑:程序博客网 时间:2024/04/30 06:50

134讲 php xml编程①-xml基本介绍 xml元素 xml属性

①为什么要学XML,在什么地方使用XML

  ----可作为程序间通讯的标准(ajax 中要用到)

  ----可以作为配置文件使用(php中用的很多)

  ----可以作为小型数据库

XML的语法

A.文档声明

Version----文档符合XML1.0规范

Encoding---文档字符编码

Standalone---文档定义是否独立使用,”yes”表示关联其他

B.元素

PHP中解析XML时会把换行和空格作为一个元素输出

命名规范:区分大小写;不能以数字和”-”下划线;不能喊空格,中间不能有冒号

C.属性

如果属性值中有双引号,单引号,可以使用实体引用(具体查手册)

D.注释

E.CDATA区、特殊字符

使用CDATA节来显示特殊字符,格式如:<![CDATA[特殊字符]]>

F.处理指令

其实CSS也可以作用于XML

135讲 php xml编程②-cdata 实体字符 处理指令 dtd快速入门 编程校验xml

    第136讲 php xml编程③-内部dtd 外边dtd dtd元素 dtd修饰符

①DTD(文档类型定义)

-----主要是用来约束XML文件的,在XML文件中添加DTD文件时要加入一段代码,如“<!DOCTYPE 根元素 SYSTEM "外部DTD文件路径">”或者“<!DOCTYPE 根元素 [内部DTD文件内容]>”

-----引入一个公开的DTD<!DOCTYPE 文档根节点 PUBLIC “DTD名称”"DTD文件的URL">”

DTD元素

<!ELEMENT NAME CONTENT>

 关键字     元素名称   元素类型

典型的元素类型:EMPTY  该元素不能包含元素和文本,但可以有属性---(空元素)

                ANY    该元素可以包含任何在DTD定义的元素内容

#PCDATA 可以包含任何字符数据,但是不能包含任何子元素与其他类型(组合)

元素修饰符:

 

137讲 php xml编程④-dtd属性 引用实体 参数实体 ide开发xml

 

①元素属性列表说明

基本语法

<!ATTLIST 元素名字 

属性名 属性类型 属性的特点

属性名 属性类型 属性的特点

>

②属性类型有

CDATA 【表示属性值可以是字符或者数字】

ID 【属性值是唯一的,字母开头】

IDREF/IDREFS   ID引用】----注意这个ID必须在文件中已存在的IDREFS表示可引用多个ID 

Enumerated 【枚举】

ENTITY/ENTITLES  【实体】 

③属性的特点

#REQUIRED  [该属性必须有

#IMPLIED     【该属性可以有也可以没有】

#FIXED value   [该属性的值是固定的]

DEFAULT value 【默认值】

④实体定义 例如:<!ENTITY 实体名 “内容”>

分为两种

a.引用实体

 

b.参数实体

c.

使用zend studio可以提高开发XML文件的效率

138讲 php xml编程⑤-复杂的dtd综合练习

练习已完成在wwwtest1文件夹下

139讲 php xml编程⑥-dom基本概念 phpdom编程(1)

使用PHP技术对XML文件进行操作

①常用的三种技术:

a.php dom

b.php结合xpath操作xml

C.simplexml

②说明dom

Domdocument object mode)文档--对象---模型。核心思想是把一个xml文件看成一个对象模型,然后通过对象的方式来操作xml文件

 

crud操作即是增删改查操作

  第140讲 php xml编程⑦-phpdom编程(2)

增:

①用new DoMDocument()创建一个新对象(该对象中包含若干对xml操作的方法)

②用$对象名->load(xml文件名)加载xml文件

③用$对象名->getElementsByTagName(节点名)取出节点

④用$对象名->creatElement(节点名)创建节点

⑤用$对象名->nodeValue=”值”给节点赋值

⑥用根节点名->appendChild(子节点)把根节点和子节点连接起来

⑦用$对象名->save(地址)回存新建的XML数据

删:

①用new DoMDocument()创建一个新对象(该对象中包含若干对xml操作的方法)

②用$对象名->load(xml文件名)加载xml文件

③用$对象名->getElementsByTagName(节点名)取出节点

④用$父节点->getElementsByTagName(节点名)获得子节点集

⑤用$子节点集->item(数字)找到目的节点

⑥用$父节点->removeChild(子节点)取消父子节点的联系

⑦用$对象名->save(地址)回存新建的XML数据

*****有一个方法方便找到父节点,$子节点->parentNode就可以找到父节点了

改:

①用new DoMDocument()创建一个新对象(该对象中包含若干对xml操作的方法)

②用$对象名->load(xml文件名)加载xml文件

③用$对象名->getElementsByTagName(节点名)->item(数字)找到节点

④用$节点->nodeValue改变节点的值

⑦用$对象名->save(地址)回存新建的XML数据

142讲 php xml编程⑨-综合练习-基于xml的在线词典 phpdom使用xpath

①学习xpath有什么好处:

PHPdom技术可以跨层取出,但是不能保持层次关系。使用xpath可以更好的解决

PHP程序在载入XML文件建立DOMDocument对象后,就可以建立DOMXPath对象,如下所示:$path=new DOMPath($xmldoc)

④在建立好的DOMXPath对象后,就可以使用query()方法找出XPath位置路径表达式的节点对象,如下所示:$item=$xpath->query(“xpath路径表达式”),如果没有找到节点则返回为空

143讲 SimpleXML

PHP5SimpieXML可以将XML文件的元素都转成对象,相同子元素转换成对象数组,让我们在PHP程序直接使用foreach指令和取得指定元素的名称、内容和属性值。

②通过simplexml_load_file()函数来载入XML文件档案,如下所示:

$library=simplexml_load_file(“book.xml”)

③上诉程序载入XML文件档案book.xml,函数传回simpleXMLElement类型的对象,载入失败传回false

simplexml还可以和xpath结合

0 0
原创粉丝点击