从PSQL结果集递归构建XML(使用PHP)

时间:2009-07-09 12:45:34

标签: php xml postgresql recursion

我正在使用以下代码成功构建XML文档:

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 个答案:

答案 0 :(得分:1)

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

我觉得对象引用重新分配会搞砸了;如果它不起作用,请告诉我。