xpath是否可以在foreach中获取动态值;;
体育专业 我尝试使用波纹管代码,我得到:试图获得非对象错误的属性
foreach ($srcov as $src) {
$qCoverXml = $coverXml->xpath('//cover/code[.= "'. $srcC->Code .'" ]/parent::*');
echo $qCoverXml->name;
}
我做错了什么; 感谢
答案 0 :(得分:0)
好吧,引用xpath() method的simplexml文档:
返回SimpleXMLElement对象的数组,如果发生错误,则返回FALSE。
所以,你做错了两件事。
它看起来像这样:
foreach ($srcov as $src) {
$qCoverXml = $coverXml->xpath('//cover/code[.= "'. $srcC->Code .'" ]/parent::*');
if (false === $qCoverXml) {
echo "ERROR: request for {$srcC->Code} failed somehow\n";
continue;
}
if (count($qCoverXml) == 0) {
echo "ERROR: request for {$srcC->Code} didn't return any elements\n";
continue;
}
echo $qCoverXml[0]->name."\n";
}