运用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>‘; }
时间: 2024-11-09 11:04:27