0

我有一个 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>

当然到目前为止一切看起来都很好,我得到了包含所有子对象的漂亮数组,但我需要通过将元素分组来创建 HTML 输出,例如标题,考虑到我的输出看起来像这样。

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 然后将它们拉回来,但这只是一个糟糕的补丁。

希望任何人都可以提供帮助。

问候

4

1 回答 1

2

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

您必须使用simplexml将 xml 解析为一个数组,然后您可以自定义您的 html 输出。

$result = array();

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

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

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

}
于 2012-05-01T02:00:00.683 回答