Problema difícil - Clasificación de datos XML usando PHP
Tengo un archivo xml que contiene una gran cantidad de datos del producto. Necesito ordenar mis productos según los datos de mi campo (ProductRange).
$ProductRange=urldecode($_GET['Range']);
Datos del archivo 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>
El campo "ProductRange" contiene el valor / pedido, es decir, ProductRange = "{Rango del producto}; {El orden de clasificación del producto debe aparecer en ProductRange}". Por ejemplo, el producto con Code = "10031" y ProductRange = "Crystal; 410; Uni; 3" debe aparecer bajo Crystal with Sorting ASCENDING, orden 410 y Uni con orden de clasificación 3 respectivamente. Y ProductRange sin punto y coma como ProductRange = " Uni "puede aparecer en cualquier orden. Tenga en cuenta que un ProductRange puede tener varios productos como se indica en XML con punto y coma.
Pregunta: ¿Cómo puedo ordenar mis productos al dividir el campo ProductRange usando PHP para que pueda generar resultados como en este orden de clasificación ascendente?
Edén:
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
Cristal:
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
y así.....
¿Cómo puedo extraer los datos en este orden? Por favor ayúdame.