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