2012-05-01 2 views
0

배열을 문제없이 배열로 변환 한 XML이 있는데, 원본 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에 저장하려고 생각하고 있었는데 그걸 뒤로 잡아 당겨 버렸지 만, 그것은 나쁜 패치 일뿐입니다.

누구든지 도움을 드리겠습니다.

감사

+0

소스 XML 문서를 재구성 할 수 있습니까? 더 논리적이고 바이트를 절약 할 수 있습니다. – Scuzzy

답변

2

를이 내가 그것을 할 거라고 방법 대략적인 개념이다.

xml을 simplexml으로 구문 분석 한 다음 html 출력을 사용자 정의 할 수 있습니다.

$result = array(); 

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

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

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

} 
+0

나는 당신의 코드를 이해하고 있으며, 구현할 수 없다. 위의 예제와 깊이를 위해 더 정확한 것을 필요로한다. 정렬 요소는이 경우의 이름이다. 4 ~ 5 단계. 감사!!!!! –

+0

이미 XML에서 배열을 가지고 있는데, 위 예제처럼 결합 된 날짜가있는 고유 목록에 각 LISTING을 그룹화하는 과정에 갇혀 있습니다. –

+0

$ xml-> somedata-> level1을 걷고 싶습니까? 더 구체화 –

관련 문제