运用Xpath能够快速定位节点,弥补DOM结构定位节点在数据量很大的情况下速度下降厉害的缺陷。

例题:

<?php
$doc=new DOMDocument();
$doc->preserveWhiteSpace=false;
$doc->load('books.xml');
$xpath=new DOMXPath($doc);//通过文档生成此文档的路径对象
//1、查询所有的书
$query1="/books/book/name";
$result1=$xpath->query($query1);//通过路径来定位节点
foreach($result1 as $bookname){
    echo $bookname->nodeValue,'<br>';
}
//2、查询所有静态语言的图书
$query2="/books/book[@type='静态语言']/name";
$result2=$xpath->query($query2);
foreach($result2 as $bookname){
    echo $bookname->nodeValue,'<br>'; 
}
//3、通过位置来查询,position()是节点的位置,节点的位置是从1开始的
$query3="/books/book[position()=3]/name";
$result3=$xpath->query($query3);
foreach($result3 as $bookname){
    echo $bookname->nodeValue,'<br>';
}

 

posted on 2017-11-11 12:06  太阳雨之美  阅读(1131)  评论(0编辑  收藏  举报