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 に答える