goback add

PHP通过DOM创建XML文档

4478 点击·0 回帖
灯火互联
楼主
最近用zendframework框架做项目,要把数据库中的数据拿出来生成XML文档。在此大概记录一下过程:
xml文件:
<?xml version="1.0" encoding="UTF-8"?> <data>     <project id="1"><![CDATA[Docker JCP1]]></project>     <project id="2"><![CDATA[Docker JCP2]]></project>     <project id="3"><![CDATA[Docker JCP3]]></project>     <project id="4"><![CDATA[Docker JCP4]]></project>     <project id="5"><![CDATA[Docker JCP5]]></project>     <project id="6"><![CDATA[Docker JCP6]]></project> </data> 1.建testController.php,添加function.
public function projectAction(){        // XML-related routine         //$list 指xml中的数据数组。        $dom = new DOMDocument('1.0', 'utf-8');         // create root element         $root = $dom->createElement("data");         $dom->appendChild($root);                  //project name xml list         foreach ($list as $project_item){             // create child element             $projectname = $dom->createElement('project');             $root->appendChild($projectname);                          // create CDATA section             $cdata = $dom->createCDATASection($project_item->name);             $projectname->appendChild($cdata);                           $id = $dom->createAttribute("id");             $projectname->appendChild($id);                          // create attribute value node             $idValue = $dom->createTextNode($project_item->project_id);             $id->appendChild($idValue);         }         $output = $dom->saveXML();                   // Setting up headers and body         $this->_response->setHeader('Content-Type', 'text/xml; charset=utf-8')                 ->setBody($output);         $this->_helper->layout->disableLayout(); } 这样就可以在页面上输出xml了。
如果要把xml保存,用$dom->save("filename.xml");
 

喜欢0 评分0