当前位置:首页 > PHP教程 > php应用 > 列表

php生成xml实例方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-20 15:10:22 浏览: 评论:0 

本文章提供二种生成xml的方法,第一种是直接查询数据库,查询在php页面输出xml格式的数据,第二种方法是利用了php DOMDocument组件生成xml实例原理有一点不同.

php生成xml实例方法代码如下:

  1. $sql = "查询数据库文件"
  2. $query = mysql教程_query($sql); 
  3. echo "<?xml version='1.0' encoding='utf-8' ?>"
  4. echo "<photos>"
  5. while(@$result = mysql_fetch_array($query)){ 
  6.  
  7. echo "<photo desc='$result[文件名字段]' url='_pics/$result[文件名字段]' />"
  8.  
  9. echo "</photos>";  
  10. //-------------------------------------------------------- 
  11. $this->_delimage('/_pics'); 
  12.  
  13. function _delimage($path){ 
  14.  if(is_dir($path)){ 
  15.    $dp=dir($path); 
  16.    while($file=$dp->read()) 
  17.     if($file!='.'&&$file!='..'){ 
  18.      $this->_delimage($path.'/'.$file); 
  19.     } 
  20.     $dp->close(); 
  21.   } 
  22. echo "<photo desc='$path' url='$path' />"
  23.  
  24. //利用domdocument 
  25.  
  26. $doc=new domdocument("1.0","gb2312");  #声明文档类型    
  27. $doc->formatoutput=true;               #设置可以输出操作    
  28.    
  29. #声明根节点,最好一个xml文件有个跟节点    
  30. $root=$doc->createelement("root");    #创建节点对象实体     
  31. $root=$doc->appendchild($root);      #把节点添加进来    
  32.       
  33.    # for($i=1;$i<100;$i++){  //循环生成节点,如果数据库调用出来就改这里    
  34.       
  35.    $info=$doc->createelement("info");  #创建节点对象实体    
  36.    $info=$root->appendchild($info);    #把节点添加到root节点的子节点    
  37.    
  38.         $namevalue=$doc->createattribute("value");  #创建节点属性对象实体     
  39.         $namevalue=$info->appendchild($namevalue);  #把属性添加到节点info中    
  40.            
  41.         $name=$doc->createelement("name");    #创建节点对象实体           
  42.         $name=$info->appendchild($name);    
  43.            
  44.         $sex=$doc->createelement("sex");    
  45.         $sex=$info->appendchild($sex);    
  46.            
  47.         $name->appendchild($doc->createtextnode("adevy001"));  #createtextnode创建内容的子节点,然后把内容添加到节点中来    
  48.         $namevalue->appendchild($doc->createtextnode("adevy"));    
  49.         $sex->appendchild($doc->createtextnode(iconv("gb2312","utf-8","男"))); #注意要转码对于中文,因为xml默认为utf-8格式    
  50.   # }       
  51.    $doc->save("info.xml"); #保存路径eg d:/www.phpfensi.com    
  52.    echo "生成成功。。。。";    
  53.    
  54.   //开源代码phpfensi.com 
  55.   #code by coder_apex 2007-6-15    
  56. #自动生成一个如下的xml文件    
  57. #    
  58. #       <?xml version="1.0" encoding="gb2312" ? >    
  59. #         - <root>    
  60. #             - <info value="www.phpfensi.com">    
  61. #                <name>adevy001</name>    
  62. #                <sex>男</sex>    
  63. #               </info>    
  64. #           </root> 
  65.  
  66. ?> 

Tags: php生成xml 实例方法

分享到: