Zend RestController xml响应>多行

时间:2011-02-07 10:03:15

标签: php zend-framework

我使用Zend RestController以xml格式输出学生数据(来自数据库)。我将控制器中的行数据分配给视图元素(逐列)。

像这样:

$this->view->name = $name;
$this->view->desc = $desc;

但是,如果必须显示多行数据呢?

我的index.xml.phtml中有以下代码,它只提供1行数据:

<pre>
<?php
$doc = new DOMDocument();
$doc->formatOutput = true;
$root_element = $doc->createElement("Students");
$doc->appendChild($root_element);

$nameElement = $doc->createElement("student");
$nameElement->appendChild($doc->createTextNode($this->name));
$root_element->appendChild($nameElement);

print $doc->saveXML();
?>

如何循环遍历结果集数组并将其输出为xml(多行)?

1 个答案:

答案 0 :(得分:0)

很好,我通过使用foreach循环结果集得到了解决方案。

对于结果集的每一行,我将列数据附加到子元素(例如:“Name”),然后将此子元素附加到根元素(Student)。

{ // using foreach loop
$nameElement = $doc->createElement("Name");
$nameElement->appendChild($doc->createTextNode($this->name)); // add Name to "Student"
$root_element->appendChild($nameElement);
}

最后,超级根元素(Students)包含作为子元素的根元素。我的意思是,“学生”包含所有“学生”数据。