我有这个XML:
<JobReference> <Type>STANDARD</Type> <Title>N° ANCIEN DOSSIER</Title> <Reference/>
我正在运行这个PHP代码:
$xmljobreference = simplexml_load_string ($GetJobResult->JobReferences->JobReference->Title );
$referenceanciendossier = $GetJobResult->JobReferences->xpath( "//JobReference[@Title ='N° ANCIEN DOSSIER']/Reference" );
但是我收到了这个错误:
致命错误:在第190行调用未定义的方法stdClass :: xpath()
如果我运行var_dump($GetJobResult)
,我会:
public 'JobReferences' =>
object(stdClass)[149]
public 'JobReference' =>
array (size=7)
0 =>
object(stdClass)[150]
...
1 =>
object(stdClass)[151]
...
2 =>
object(stdClass)[152]
public 'JobSeq' => int 920179
答案 0 :(得分:0)
好吧,正如您的var_dump
向您展示的那样,JobReferences
由JobReference
构建,foreach
本身就是一个包含7个项目的数组。
因此,假设您要在所有数组项上运行xpath函数,则需要运行$array = $GetJobResult->JobReferences->JobReference;
$results = array();
foreach($array as $reference){
array_push($results, $reference->xpath( "//JobReference[@Title ='N° ANCIEN DOSSIER']/Reference" ));
}
var_dump($results);
循环。这样的事情应该有效:
HashMap<String, List<String>>