具有挑战性的问题-使用PHP进行XML数据排序
我有一个包含大量产品数据的xml文件。我需要根据我的字段(ProductRange)的数据对我的产品进行排序 XML文件数据:具有挑战性的问题-使用PHP进行XML数据排序,php,xml,Php,Xml,我有一个包含大量产品数据的xml文件。我需要根据我的字段(ProductRange)的数据对我的产品进行排序 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
<?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>
统一:
水晶:
卡萨:
等等
如何按此顺序提取数据?请帮帮我 您以前的函数就可以了,您只需要做一些小的更改 改变
case 'ProductRange' :
到
或者干脆删除switch语句
然后打电话
$list = groupBy($xml, "Name", array("show" => true,"delimiter" => " ","name" => "Eden"));
print("<pre>");
foreach ( $list as $name => $value ) {
foreach ( $value as $element ) {
printf("Code:%s Name: %s\n",$element['Code'],$name);
}
}
为什么
Name:Eden Grid Cover Black
不包括在Eden列表中???@Baba对不起,我不能提及。我已经编辑了所需的输出。希望它能让事情变得更清楚。Bless@Baba这是你帮不了的吗?@BabaYou真是个魔术师。非常感谢。我不敢相信这在php中是可以实现的。爸爸,我想按升序对所有与“Eden”相关的产品进行排序,所以我使用了“name”=>“Eden”。但当我运行代码时,它显示了所有记录,而没有按升序对Eden进行排序:请参阅输出:请参阅代码:请参阅XML:。我很感激你的帮助,因为我正在与这个plz做斗争。
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
Code:10031 Name: Lid only for 30l Crystal and Uni Clear
Code:10088 Name: Casa Hipster Laundry Basket Silver
Code="10091" Name: Casa Hipster Laundry Basket Ice White
case 'ProductRange' :
case 'ProductRange' :
case 'Name' :
$list = groupBy($xml, "Name", array("show" => true,"delimiter" => " ","name" => "Eden"));
print("<pre>");
foreach ( $list as $name => $value ) {
foreach ( $value as $element ) {
printf("Code:%s Name: %s\n",$element['Code'],$name);
}
}
Code:10026 Name: Eden 36cm Shallow Round Planter Terracotta
Code:10200 Name: Eden Grid Cover Black
Code:10269 Name: Eden 46cm Shallow Round Planter Terracotta