面對資料的傳輸,有些時候需要的資料量很多、很大

但反覆的去讀取資料庫卻容易造成伺服器的負擔

將所需的資料一次生成靜態XML檔

再透過適當的運算,就不需反覆的向資料庫提取資料,大大降低伺服器負擔

下面是使用 PHP 生成 XML 的寫法 (使用DOM編寫)

 

//宣告PHP以UTF-8編碼方式輸出XML文件

$docxml  =  new DOMDocument("1.0","UTF-8"); 

//是否將文件格式化,true 生成的XML會斷行,false生成的xml不會斷行(打開文件只會有一行)
$docxml  ->  formatOutput=true;                      

//建立根節點:

//在$docxml文件下建立新節點(root節點)

$rootnode  =  $docxml  ->  createElement("root");  

// 節點(root節點)屬於哪一個節點的子節點 (此例為根節點,所以節點位置在$docxml文件底下)
$rootnode  =  $docxml  ->  appendChild($rootnode); 

                 這時候只有這樣:

                 <?xml version="1.0" encoding="UTF-8"?>
                 <root/>

//在根節點底下加上子節點:

//在$docxml文件下建立新節點(child節點)

$childnode  =  $docxml  ->  createElement("child");    

 // child節點屬於root節點($rootnode)底下的子節點
$childnode  =  $rootnode  ->  appendChild($childnode); 

             這時候是:

                 <?xml version="1.0" encoding="UTF-8"?>
                         <root>
                                 <child/>
                         </root>

//但是節點內必須要有值,像是 <child> 我是值、int、string </child>

//這是後必須把節點內的值放進去,就必須這麼做:

//在child節點($childnode)內放入  "我是值" 的字串;也可以放變數、數字、字串

$childnode  ->  appendChild($docxml  ->  createTextNode("我是值")); 

             就會變這樣 : 

                   <?xml version="1.0" encoding="UTF-8"?>
                         <root>
                                 <child>我是值</child>
                         </root>

 

做到這邊,產生基本的xml格式的檔案就已經沒有問題了

一般在取資料的時候,一定不只一筆資料

這時候只要把迴圈建立好,把建立節點的方法放在迴圈內

就能一口氣產出許多XML格式的資料

只是資料一多之後,要特別注意的是,該如何把各階層的資料給分清楚,讓取值的人能夠一目了然

這個只能依照不同的資料做變化了

 

如果覺得對你有幫助的話. 請幫小弟按個讚吧~

 

相關文章:

使用PHP讀取XML

arrow
arrow
    文章標籤
    php生成xml php xml DOM
    全站熱搜

    newaurora 發表在 痞客邦 留言(2) 人氣()