1. 程式人生 > >php對xml的XPath操作

php對xml的XPath操作

通過DOM結構點位節點,在資料量很大的情況下速度下降的厲害。解決方法是XPath。

XPath作用:用於快速定位節點

XPath實現查詢功能:

<?php
//XPath
$doc = new DOMDocument();
$doc->preserveWhiteSpace=false;
$doc->load('books.xml');
//通過文件生成此文件的路徑
$xpath = new DOMXPath($doc);
//查詢所有的書
$query = "/books/book/name";
$result = $xpath->query($query);
foreach ($result as $bookname){
    echo $bookname->nodeValue . '<br/>';
}
echo "<br/>==========================================<br/>";

//查詢所有靜態語言的圖書
$query = "/books/book[@type='靜態語言']/name";
$result = $xpath->query($query);
foreach ($result as $bookname){
    echo $bookname->nodeValue . '<br/>';
}
echo "<br/>==========================================<br/>";

//通過位置來查詢
$query = "/books/book[position()=3]/name";
$result = $xpath->query($query);
foreach ($result as $bookname){
    echo $bookname->nodeValue . '<br/>';
}
echo "<br/>==========================================<br/>";

執行結果: