Php 在foreach中插入xpath的动态变量
xpath是否可以在foreach中获取动态值 p、 e 我尝试了下面的代码,得到了:尝试获取非对象错误的属性Php 在foreach中插入xpath的动态变量,php,xml,simplexml,Php,Xml,Simplexml,xpath是否可以在foreach中获取动态值 p、 e 我尝试了下面的代码,得到了:尝试获取非对象错误的属性 foreach ($srcov as $src) { $qCoverXml = $coverXml->xpath('//cover/code[.= "'. $srcC->Code .'" ]/parent::*'); echo $qCoverXml->name; } 我做错了什么; 非常感谢您引用simplexml文档: 返回SimpleXMLEl
foreach ($srcov as $src) {
$qCoverXml = $coverXml->xpath('//cover/code[.= "'. $srcC->Code .'" ]/parent::*');
echo $qCoverXml->name;
}
我做错了什么;
非常感谢您引用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";
}
你为什么不试试呢?是的,这是可能的,这就是你想知道的?好的。很抱歉,我会再试一次:)我使用上面的代码,并且我尝试获取非对象错误的属性,如果我在foreach循环之外使用此代码,它就可以正常工作。在哪一行中,您会得到该错误?可能
$coverXml
$srcC
不是对象。或者,$qCoverXml
不是对象。错误是foreach的最后一行($qCoverXml->name;)我在foreach循环之外使用此代码它工作正常谢谢JimiDini你是对的我没有将结果视为ar数组,现在它工作得很好,谢谢