php生成xml的簡單實用

前幾天遇到寫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();


?>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章