有这个代码:
$products = $feed->_xpath->query( "//cf:vehicle" );
foreach( $products as $product )
{
echo $product->nodeName . ': ' . $product->getAttribute('code') . '<br />';
$imgs = $feed->_xpath->query( "//cf:image" , $product );
echo ' Imgs: ' . $imgs->length . '<br />';
}
Run Code Online (Sandbox Code Playgroud)
在xmlfeed中找到的产品节点数是103 - 这是正确的.
然而,在当前节点上下文中查找定位图像的查询却没有这样做 - 它找到了116个图像节点,这是节点中图像节点的总数,因为它应该只选择当前产品中的图像(0之间)在大多数情况下为3)
任何指针都非常感激.
Gor*_*don 44
您必须使用.//cf:image它来相对于上下文节点.
来自http://www.w3.org/TR/xpath/#path-abbrev:
// para选择文档根的所有para后代,从而选择与上下文节点相同的文档中的所有para元素
和
.//para选择上下文节点的para元素后代
另见http://bugs.php.net/bug.php?id=34413