本文章提供二種生成xml的方法,第一種是直接查詢數據庫,查詢在php頁面輸出xml格式的數據,第二種方法是利用了php DOMDocument組件生成xml實例原理有一點不同.
php生成xml實例方法代碼如下:
- $sql = "查詢數據庫文件";
- $query = mysql教程_query($sql);
- echo "<?xml version='1.0' encoding='utf-8' ?>";
- echo "<photos>";
- while(@$result = mysql_fetch_array($query)){
- echo "<photo desc='$result[文件名字段]' url='_pics/$result[文件名字段]' />";
- }
- echo "</photos>";
- //--------------------------------------------------------
- $this->_delimage('/_pics');
- function _delimage($path){
- if(is_dir($path)){
- $dp=dir($path);
- while($file=$dp->read())
- if($file!='.'&&$file!='..'){
- $this->_delimage($path.'/'.$file);
- }
- $dp->close();
- }
- echo "<photo desc='$path' url='$path' />";
- }
- //利用domdocument
- $doc=new domdocument("1.0","gb2312"); #聲明文檔類型
- $doc->formatoutput=true; #設置可以輸出操作
- #聲明根節點,最好一個xml文件有個跟節點
- $root=$doc->createelement("root"); #創建節點對象實體
- $root=$doc->appendchild($root); #把節點添加進來
- # for($i=1;$i<100;$i++){ //循環生成節點,如果數據庫調用出來就改這里
- $info=$doc->createelement("info"); #創建節點對象實體
- $info=$root->appendchild($info); #把節點添加到root節點的子節點
- $namevalue=$doc->createattribute("value"); #創建節點屬性對象實體
- $namevalue=$info->appendchild($namevalue); #把屬性添加到節點info中
- $name=$doc->createelement("name"); #創建節點對象實體
- $name=$info->appendchild($name);
- $sex=$doc->createelement("sex");
- $sex=$info->appendchild($sex);
- $name->appendchild($doc->createtextnode("adevy001")); #createtextnode創建內容的子節點,然后把內容添加到節點中來
- $namevalue->appendchild($doc->createtextnode("adevy"));
- $sex->appendchild($doc->createtextnode(iconv("gb2312","utf-8","男"))); #注意要轉碼對于中文,因為xml默認為utf-8格式
- # }
- $doc->save("info.xml"); #保存路徑eg d:/m.survivalescaperooms.com
- echo "生成成功。。。。";
- //開源代碼Vevb.com
- #code by coder_apex 2007-6-15
- #自動生成一個如下的xml文件
- #
- # <?xml version="1.0" encoding="gb2312" ? >
- # - <root>
- # - <info value="m.survivalescaperooms.com">
- # <name>adevy001</name>
- # <sex>男</sex>
- # </info>
- # </root>
- ?>
新聞熱點
疑難解答