Выбор потомков первого результата с помощью 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.