如何在for循環中的當前SimpleXMLElement對象上運行Xpath查詢。例如,for循環中當前SimpleXMLElement對象的Xpath查詢
<?php
$xml = simplexml_load_string('<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore> ');
foreach ($xml as $value) {
$result = $value->xpath('//title');
var_dump($result);
break;
}
?>
array
0 =>
object(SimpleXMLElement)[189]
public '@attributes' =>
array
'lang' => string 'eng' (length=3)
string 'Harry Potter' (length=12)
1 =>
object(SimpleXMLElement)[188]
public '@attributes' =>
array
'lang' => string 'eng' (length=3)
string 'Learning XML' (length=12)
這會輸出兩個書籍元素的結果,而這是我的意圖,只顯示第一個。我試圖查詢運行只有對for循環中的$ value對象,因爲我可能想要在每本書上運行不同的查詢(所以它必須在一個循環!)不是在每一本書是什麼目前正在做。
//從根節點選擇文檔中的標籤,而不是從當前節點中選擇標籤 – Benjamin