2009-07-09 5 views
1

내가 다음 코드를 성공적으로 XML 문서를 작성하고 결과 집합 PSQL에서 XML을 구축 :재귀 (사용 PHP)

public function build($result) { 

    $root = $this->append(new xmlElement('data')); 
    $root->append(new xmlElement('collection')); 

    while($row = pg_fetch_assoc($result)){ 

     foreach($row as $fieldname => $fieldvalue){ 
      $second = $root->append(new xmlElement($fieldname)); 
      $second->write($fieldvalue); 
     // $seconds_child = $second->append(new xmlElement('second child child')); 
     // $seconds_child->write("second's child content"); 
     } 
    } 
} 

내 질문은, 재귀 적으로이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

1
$current = $root; 
foreach($row as $fieldname => $fieldvalue) { 
    $next = $current->append(new xmlElement($fieldname)); 
    $current->write($fieldvalue); 
    $current = $next; 
} 

나는 객체 참조 재 지정이 이것을 망칠 것이라고 생각한다. 작동하지 않으면 알려주세요.