Неустранимая ошибка: вызов неопределенного метода stdClass::xpath()

У меня есть этот 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" );

Но я получаю эту ошибку:

Неустранимая ошибка: вызов неопределенного метода stdClass::xpath() в строке 190

Если я бегу 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 ответ

Ну как твой var_dump показывает вам, JobReferences построен JobReference который сам по себе является массивом из 7 элементов.

Предполагая, что вы хотите запустить функцию xpath для всех элементов массива, вам нужно запустить foreach петля. Примерно так должно работать:

$array = $GetJobResult->JobReferences->JobReference;
$results = array();

foreach($array as $reference){
    array_push($results, $reference->xpath( "//JobReference[@Title ='N°  ANCIEN DOSSIER']/Reference" ));
}
var_dump($results);
Другие вопросы по тегам