首页 > 开发 > PHP > 正文

php生成xml实例方法

2024-05-04 21:58:39
字体:大 中 小
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表