2011-07-07 5 views
2

그래서 배열을 XML 문서로 변환하려고합니다. 그냥 문자열로 출력합니다. 나는 PHP가 json_encode을 내장하고 잘 작동한다는 것을 알고 있지만, 나는 훌륭한 XML을 찾을 수 없다.배열을 XML 문자열로 변환하는 가장 쉬운 방법은 무엇입니까?

<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

은 $ root 매개 변수는 무엇인가 떨어져 촬영? –

0

가있다 그렇게 할 기본 제공 도구는 없지만 :

기본적으로, 배열은 PDOStatement->fetchAll();

의 결과는 내가 같이하는 출력을하고 싶습니다이다 구현하기 쉽습니다.

관련 문제