Php XML到数组-基于一个子元素对数组结果进行分组

Php XML到数组-基于一个子元素对数组结果进行分组,php,arrays,grouping,sorting,Php,Arrays,Grouping,Sorting,我有一个转换成数组的XML,没有问题,原始XML看起来像这样 <somedata>data</somedata> <somedata2>data2</somedata2> <level1> <listings> <element> <title>AAA</title> <description>DescriptionA</d

我有一个转换成数组的XML,没有问题,原始XML看起来像这样

<somedata>data</somedata>
<somedata2>data2</somedata2>
<level1>
   <listings>
     <element>
        <title>AAA</title>
        <description>DescriptionA</description>
        <moredata>
          <adate>2012/12/12</adate>
        </moredata>
     </element>

     <element>
        <title>AAA</title>
        <description>DescriptionA</description>
        <moredata>
          <adate>2013/10/12</adate>
        </moredata>
     </element>

     <element>
        <title>BBB</title>
        <description>DescriptionB</description>
        <moredata>
          <adate>2012/09/01</adate>
        </moredata>
     </element>
   </listings>
<level1>
Title: AAA
Description: DescriptionA
Date 1: 2012/12/12
Date 2: 2013/10/12

Title: BBB
Description: DescriptionB
Date 1: 2012/09/01
注意,我将AAA分组,重复并在同一结果中列出了两个日期

在PHP中,我曾认真考虑过如何保存到mysql,然后再将它们拉回来,但这只是一个糟糕的补丁

希望有人能帮忙


关于

这是一个粗略的概念,我会怎么做

必须将xml解析为数组,然后才能自定义html输出

$result = array();

foreach($xml->element as $element){

   $line = array();
   $line['date'] = $element->date;
   $line['description'] = $element->description;

   $result[$element->title]['line'][] = $line;

}

我有点理解你的代码,也许我不能实现它,需要一些更精确的深度和上面的例子,排序因子是在这种情况下的名称。4至5级。谢谢我已经有了一个XML数组,我一直在将每个列表分组到一个唯一的列表中,其中包含日期,如上面的示例所示。是否要遍历$XML->somedata->level1。更具体一些数据我们不需要它,一切都从“列表”开始,对于找到的每个“元素”,创建数组,但是那些重复的我想创建一个日期数组,而不是有相同的“元素”两次,只有一次,但日期数组来自于找到的所有同名列表。您是否能够重新构造源XML文档?这将更符合逻辑并节省字节。