Wybór dzieci pierwszego wyniku za pomocą xpath

Mam fragment XML, w którym ta sama informacja może pojawić się jako dziecko różnych węzłów. Jak na przykład :

<root>
<category id=1>
        <product id="ABC123" >

              <sizes>
                    <size name="S"/>
                <size name="M"/>
                <size name="L"/>
                <size name="XL"/>
                <size name="2XL"/>
                <size name="3XL"/>
              </sizes>
            </product>

                 </products>
           </category>
<category id=2>
        <products>
        <product id="ABC123" >

              <sizes>
                    <size name="S"/>
                <size name="M"/>
                <size name="L"/>
                <size name="XL"/>
                <size name="2XL"/>
                <size name="3XL"/>
              </sizes>
            </product>

          <product id="PPP543" >

              <sizes>
                    <size name="S"/>
                <size name="M"/>
                <size name="L"/>
                <size name="XL"/>
              </sizes>
            </product>

                 </products>
           </category>

Moim celem jest wybranie rozmiarów identyfikatora produktu ABC123 i zapisanie ich jako tablicy. Obecny kod, który mam, to:

$arrTest=array();


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

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

$ productCall to identyfikator, którego szukam. W tym przypadku jest to ABC123.

Wyjście to S, M, L, XL, 2XL, 3XL, S, M, L, XL, 2XL, 3XL. Oznacza to, że odczytuje dwa znalezione wpisy. Spodziewałem się tego, biorąc pod uwagę pętlę foreach, ale nie mogę znaleźć sposobu na uzyskanie wyniku pierwszego wyniku. Próbowałem dodać [0] i [1]:

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

[0] nic nie zwraca, a [1] zwraca te same wyniki, które już otrzymuję.

Mam nadzieję, że jest to prosta sprawa, że ​​brakuje mi czegoś podstawowego lub po prostu zbyt przemyślanego, ponieważ naprawdę nie pracowałem wcześniej z xpath.

questionAnswers(1)

yourAnswerToTheQuestion