Heim  >  Artikel  >  php教程  >  PHP使用xpath解析XML实例教程

PHP使用xpath解析XML实例教程

WBOY
WBOYOriginal
2016-06-21 08:53:18988Durchsuche

  XML文件在PHP网站开发的轻量级应用中使用非常广泛,而PHP解析和读取XML文件的方式有很多种,比如JS DOM、SimpleXml、Xpath等方式解析XML文件,今天来讲讲在PHP中使用Xpath解析XML的实例,同时通过Xpath解析XML的实例来介绍部分基础的Xpath语法。

  Xpath是什么?

  Xapth主要用来在XML文档中查询信息的工具,通过使用路径表达式可以解析XML文件,读取XML文件中的数据。

  PHP解析XML推荐教程

  PHP4和PHP5版本下解析XML文档的操作方法

  需要PHP解析的XML文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

version="1.0" encoding="gbk"?>
>
 
    >  
        >PHP网站开发-PHP教程-Leapsoul.cn>
        >http://www.leapsoul.cn>
    >

    >  
        >
          >
          keyid='1'>PHP网站开发>
          keyid='2'>PHP教程>
          keyid='3'>PHP>
          >
          >
SEO>
        >
    >

    >
 
        >
PHP网站开发>
        >http://www.leapsoul.cn>
    >
>

  Xpath语法教程

  /表示从XML文件中的根节点开始解析

  //表示在XML文件中匹配已选择的当前节点,且不考虑其位置关系(类似于SQL中模糊查询)

  . 表示选取当前节点

  ..表示选取当前节点的父节点

  @表示匹配具体的节点或属性

  PHP解析XML实例第一步

1

$xml = simplexml_load_file('leapsoulcn.xml');

说明:使用PHP SimpleXML载入需要解析的XML文档,SimpleXML默认PHP5支持。

  PHP解析XML Xpath实例一:

1
2
3

foreach($xml->xpath('LeapsoulInfo') as $value) {  
        print_r($value);
    }

说明:在这个Xpath实例中通过Xpath查询指定节点,以数组形式返回其所有的子节点,并通过PHP的print_r函数打印出最终的数组结构。

  PHP解析XML Xpath实例二

1
2
3

foreach($xml->xpath('LeapsoulInfo/name') as $value) {  
        print_r($value);
    }

说明:在这个Xpath实例中通过Xpath路径表达式的方式指定需要Xapth查询的某个特定子节点,以数组形式返回这个子节点的元素。

  PHP解析XML Xpath实例三

1
2
3

foreach($xml->xpath('//name') as $value) {  
        print_r($value);
    }

说明:在这个Xpath实例中通过使用//表示使用Xpath查询XML文件中所有name节点的元素,与上一个Xpath实例的区别在于name没有位置关系。

  PHP解析XML Xpath实例四

1
2
3

foreach($xml->xpath('LeapsoulInfo//name') as $value) {  
        print_r($value);
    }

说明:PHP解析XML文件中指定节点下的某个子节点,以数组形式返回其所有子节点,忽略指定的这个子节点在LeapsoulInfoXML中的位置关系。

  PHP解析XML Xpath实例五

1
2
3

foreach($xml->xpath("//name/keywords/keyword[@keyid='1']") as $value) {  
        print_r($value);
    }

说明:在需要PHP解析的XML文件中通过Xpath查找keyid=1的元素,以数组形式返回。

  OK,上述几个PHP Xpath实例教程是PHP解析XML文件最基础的方法,通过合理使用Xpath路径表达式可以进行复杂的XML查询和解析,使用起来感觉和SQL一样方便。

  :PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn