灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3182回复:0

PHP通过DOM创建XML文档

楼主#
更多 发布于:2011-08-11 15:25
最近用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
游客

返回顶部