Trudny problem - sortowanie danych XML przy użyciu PHP

Mam plik xml zawierający ogromną ilość danych produktu. Muszę sortować moje produkty zgodnie z danymi mojego pola (ProductRange).

$ProductRange=urldecode($_GET['Range']);

Dane pliku XML:

<?xml version="1.0" standalone="yes"?>
<Rows>
<Row Code="10026" Name="Eden 36cm Shallow Round Planter Terracotta"  
ProductRange="Eden;3" ProductSubRange="EDEN 36CM ROUND PLANTER"  />
<Row Code="10031" Name="Lid only for 30l Crystal and Uni Clear" 
ProductRange="Crystal;410;Uni;3" ProductSubRange="30Ltr LID"    />
<Row Code="10088" Name="Casa Hipster Laundry Basket Silver" ProductRange="Casa;2"  
ProductSubRange="CASA HIPSTER LAUNDRY BASKET" />
<Row Code="10091" Name="Casa Hipster Laundry Basket Ice White" 
ProductRange="Casa;8;Laundry;1" ProductSubRange="CASA HIPSTER LAUNDRY BASKET"   />
<Row Code="10200" Name="Eden Grid Cover Black" ProductRange="Eden;8" 
ProductSubRange="EDEN DRAIN TIDY/GRID COVER" />
<Row Code="10249" Name="Lid only for 50L Uni Assorted" ProductRange="Uni;1" 
ProductSubRange="50Ltr MAXI BOX LID"  />
<Row Code="10259" Name="Uni 50L Box Clear" ProductRange="Uni" ProductSubRange="MAXIBOX" />
<Row Code="10269" Name="Eden 46cm Shallow Round Planter Terracotta"       
ProductRange="Eden;1" ProductSubRange="EDEN 46CM ROUND PLANTER"  />
</Rows>

Pole „ProductRange” zawiera wartość / zamówienie i.e ProductRange = „{Zakres produktu}; {Kolejność sortowania produktu powinna pojawić się pod ProductRange}”. Na przykład produkt o kodzie Code = „10031” i ProductRange = „Crystal; 410; Uni; 3” powinien pojawić się zarówno w Crystal z sortowaniem ASCENDING 410, jak i Uni z porządkiem sortowania 3, a ProductRange bez średnika, takiego jak ProductRange = ” Uni ”może pojawić się w dowolnej kolejności. Uwaga: ProductRange może mieć wiele produktów wskazanych w XML ze średnikiem.

Pytanie: Jak mogę sortować moje produkty, dzieląc pole ProductRange przy użyciu PHP, tak aby mogło generować wyniki takie jak w rosnącej kolejności sortowania:

Eden:

  Code: 10269         Name: Eden 46cm Shallow Round Planter Terracotta
  Code: 10026         Name: Eden 36cm Shallow Round Planter Terracotta 
  Code: 10200         Name: Eden Grid Cover Black

Uni:

 Code=10259          Name: Uni 50L Box Clear
 Code:10249          Name: Lid only for 50L Uni Assorted 
 Code:10031          Name: Lid only for 30l Crystal and Uni Clear

Kryształ:

  Code:10031         Name: Lid only for 30l Crystal and Uni Clear

Casa:

  Code:10088         Name: Casa Hipster Laundry Basket Silver
  Code="10091"       Name: Casa Hipster Laundry Basket Ice White

i tak dalej.....

Jak mogę wyodrębnić dane w tej kolejności? Proszę mi pomóc.

questionAnswers(1)

yourAnswerToTheQuestion