我使用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(多行)?
答案 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)包含作为子元素的根元素。我的意思是,“学生”包含所有“学生”数据。