php生成xml的简单实用

来源:互联网 发布:参与网络上赌博 编辑:程序博客网 时间:2024/04/29 22:36

前几天遇到写web service接口,就随便了解了php生成xml文件的几种方式,总共有四种方法,可参考:http://www.oschina.net/code/snippet_110138_4727

本文使用的是DomDocument生成xml文件。

常见的几个函数的介绍如下:

   createElement:创建节点

   createTextNode:创建文本内容

   appendChild:添加子节点

   createAttribute:创建属性

 

 

<?php
/**
 * 生成xml文件
 */
$conn=  mysql_connect("localhost","root","");
mysql_select_db("qiye",$conn);
mysql_query("set names utf8");
$query=  mysql_query("select * from `friend_link`");

//使用字符串连接生成xml文件
/*
header("Content-type:text/xml");//指明文件的类型
$arr='<?xml version="1.0" encoding="utf-8"?><xml>';
while($row=  mysql_fetch_array($query)){
    $arr.="<link><id>".$row['id']."</id><name>".$row['name']."</name></link>";
}
$arr.="</xml>";
echo $arr;
*/

$fieldNum= mysql_num_fields($query);//获取表中的字段数
$fieldArr=array();//用于存放字段的名称
for($i=0;$i<$fieldNum;$i++){
    $fieldArr[$i]=  mysql_field_name($query, $i);
}

$info=array();//用于存放记录的信息
$index=0;
while($row=  mysql_fetch_array($query)){
   $info[$index]=$row;
   $index++;
}

$dom=new DOMDocument("1.0","utf-8");//声明版本和编码
header("Content-Type:text/xml");
$dom->formatOutput=true;//格式化输出

$root=$dom->createElement("xml");
$dom->appendChild($root);
foreach ($info as $result){
    $link=$dom->createElement("link");
    $root->appendChild($link);
    for($i=0;$i<$fieldNum;$i++){
        $node[$i]=$dom->createElement($fieldArr[$i]);
        $node[$i]->appendChild($dom->createTextNode($result[$fieldArr[$i]]));
        $link->appendChild($node[$i]);
    }
}
echo $dom->saveXML();

mysql_close();


?>

 

0 0
原创粉丝点击