Выбор потомков первого результата с помощью xpath

У меня есть кусок XML, где одна и та же информация может появиться как дочерний элемент разных узлов. Такие как :



        

              
                    
                
                
                
                
                
              
            

                 
           

        
        

              
                    
                
                
                
                
                
              
            

          

              
                    
                
                
                
              
            

                 
           

Моя цель - выбрать размеры идентификатора продукта ABC123 и сохранить их в виде массива. Текущий код, который у меня есть:

$arrTest=array();


    foreach($xml->xpath('//root/category/products/product[@id= "'.$productCall.'" ]/sizes/size') as $size){

              array_push($arrTest, $size["name"]);
      }

$ productCall - это идентификатор, который я ищу. В этом случае этос ABC123.

Выход S, M, L, XL, 2XL, 3XL, S, M, L, XL, 2XL, 3XL. Это означает, что он читает две записи, которые были найдены. Я ожидал этого, учитывая цикл foreach, но я могуКажется, мы не можем найти выход первого результата. Я попытался добавить [0] и [1]:

$y=$xml->xpath('//root/category/products/product[@id= "'.$productCall.'" ][1]/sizes/size');

[0] ничего не возвращает и [1] возвращает те же результаты, что и я 'Я уже получаю. Я

Надеюсь, это просто вопрос, что я упустил что-то простое или просто переосмыслил, как я на самом делея раньше работал с xpath.

Ответы на вопрос(1)

Ваш ответ на вопрос