2011-07-07 162 views
2

所以我試圖將數組轉換爲XML文檔(只是將其輸出爲字符串)。我知道php內置了json_encode,它工作正常,但我似乎無法找到任何好的XML等價物。將數組轉換爲xml字符串的最簡單方法是什麼?

基本上,數組的PDOStatement->fetchAll();

的結果,我想輸出看起來像這樣:

<arrayitem> 
    <iteminfo1>text</iteminfo1> 
    <iteminfo2>text</iteminfo2> 
    <iteminfo3>text</iteminfo3> 
    <iteminfo4>text</iteminfo4> 
    <iteminfo5>text</iteminfo5> 
</arrayitem> 

回答

1

採取直客的PHP: SimpleXML - Manual

function array2XML($arr,$root) { 
$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><{$root}></{$root}>"); 
$f = create_function('$f,$c,$a',' 
    foreach($a as $v) { 
     if(isset($v["@text"])) { 
      $ch = $c->addChild($v["@tag"],$v["@text"]); 
     } else { 
      $ch = $c->addChild($v["@tag"]); 
      if(isset($v["@items"])) { 
       $f($f,$ch,$v["@items"]); 
      } 
     } 
     if(isset($v["@attr"])) { 
      foreach($v["@attr"] as $attr => $val) { 
       $ch->addAttribute($attr,$val); 
      } 
     } 
    }'); 
$f($f,$xml,$arr); 
return $xml->asXML(); 
} 
+0

什麼是$根參數? –

0

沒有內置的工具來做到這一點,但它是易於實施。

相關問題