PHP操作XML及Xpath语言,XML学习一

作者: JONE 分类: 编程 发布时间: 2017-09-01 23:36

一XMl用途

① 程序间交互的中间件

php语言      中间件(xml)     快递查询功能(java语言、.net语言)

② 配置文件(config.xml)

③ 存储数据

④ 其他用途(如规范数据格式等等)

面试题:什么是XML,XML的主要用途?

答:XML全称可扩展标记语言,其主要用途是实现数据的传输与存储。

 

二XML语言的组成部分

文档声明

元素

元素属性

注释  <!– 注释内容 –>

特殊字符

CDATA区

处理指令

 

三PHP解析XML数据(SimpleXML)

xml示例

1、SimpleXMLElement simplexml_load_file (string $filename) :载入xml文件到内存,形成DOM树,生成SimpleXML对象。

由以上运行结果可知,其最终结果的数据是一个对象+数组的混合体。但是一定要记住一点,如果是对象,我们就可以通过->箭头的形式对属性进行访问,如果是数组,我们就可以通过[index]索引来实现数据的读取。

使用SimpleXML对象读取指定节点的信息

2、public SimpleXMLElement  SimpleXMLElement::children() :获取所有子节点在SimpleXML对象中,拥有一个attributes()方法,可以专门用于获取元素的属性并返回一个对象。

3、使用SimpleXML对象读取指定节点的属性信息 attributes()

在SimpleXML对象中,拥有一个attributes()方法,可以专门用于获取元素的属性并返回一个对象。

4、使用SimpleXML对象添加节点与属性信息

public SimpleXMLElement  SimpleXMLElement::addChild ( string $name [, string $value] )主要功能:添加节点信息

参数说明:

$name :要添加节点的名称

$value :可选参数,要添加节点的值信息

public void  SimpleXMLElement::addAttribute ( string $name [, string $value [, string $namespace ]] )

主要功能:添加属性信息

参数说明:

$name :要添加的属性的信息

$value :可选参数,要添加属性的值信息

public mixed  SimpleXMLElement::asXML ([ string $filename ] )

主要功能:实现对数据的保存操作,保存到XML文档中

参数说明:

$filename :要保存文件的名称

特别注意:在使用SimpleXML对象添加节点与属性时,一定要特别注意,其只能从上往下一级一级添加。

四Xpath语言

1、什么是Xpath

XPath是一门在 XML 文档中查找信息的语言(XPath即为XML路径语言)。

XPath可用来在 XML 文档中对元素和属性进行遍历。

而且Xpath并不仅仅应用于XML数据查询,其在很多语言中(PHP、Java、.NET以及Javascript),都可以广泛使用。

2、Xpath语言详解(前6种方式)

① 使用绝对路径检索数据

在Xpath语言中,使用斜线/打头的都属于绝对路径。

特别注意:使用绝对路径,其元素的查询必须从根元素一级一级向下检索,不能出现越级!

② 使用相对路径检索数据

在Xpath语言中,使用双斜线//方式的都属于相对路径(不分层级)

③ 使用星号*来检索数据

星号 * 表示选择所有由星号之前的路径所定位的元素。

④ 使用方括号[]来检索数据

方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位置, 而last()函数则表示选择集中的最后一个元素。

注意:其方括号中的数字,索引下标是从1开始的。

⑤ 使用@符号来检索数据

在Xpath语言中,可以使用@符号来检索元素的属性信息。

⑥ 使用属性值来检索数据

在Xpath语言中,属性的值可以被用来作为选择的准则, normalize-space函数删除了前部和尾部的空格, 并且把连续的空格串替换为一个单一的空格。