致命错误:调用未定义的方法stdClass :: xpath()

时间:2015-06-16 11:52:04

标签: php xml xpath simplexml php-5.4

我有这个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

1 个答案:

答案 0 :(得分:0)

好吧,正如您的var_dump向您展示的那样,JobReferencesJobReference构建,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>>