我有一个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。
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 然后将它们拉回来,但这只是一个糟糕的补丁。
希望有人能帮忙。
问候
这是一个
粗略的概念,我会怎么做。
您必须使用 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;
}