2011-07-04 10 views
0

編集xmlの「ヘッダ」に

XMLレスポンスは

をエンコーディングを追加する方法を

は今、「ヘッダーは」次のようになります。

<?xml version="1.0"?> 

どのようにすることができますSimpleXMLをを使用した場合PHPで "ヘッダ"にエンコーディングを追加しますか?

私のXMLクラス:

class XML { 
    private $root = '<response />'; 

    function __construct($root=null){ 
     $this->root = new SimpleXMLElement($root ? $root:$this->root); 
    } 

    function encode($arr, $node=null){ 
     $node = $node == null ? $this->root:$node; 
     foreach($arr as $key => $value){ 
      if(is_array($value)){ 
       $this->encode($value, $node->addChild($key)); 
      } 
      else{ 
       $node->addChild($key, $value); 
      } 
     } 
    } 

    function output(){ 
     return $this->root->asXML(); 
    } 
} 
+0

あなたが取得しているエラーは何ですか? – jerluc

+0

私の質問にしてください – clarkk

答えて

4

まあ、私のデンマークは、(そのことについては全くまたは存在する)完璧ではありません。しかし、私は事実としてXMLノードcannot begin with a numberを知っています。そしてエラーは、XMLデータの順調さに不満を抱いているように思われるので、それは<0></0>ノードのためだと思います。

あなたは、変更しようとすることができます

private $root = '<response />'; 

このようなものに:

private $root = '<?xml version="1.0" encoding="utf-8" ?><response />'; 
+0

OK ..私はXMLに新しい..は常にjsonを使用しています..しかし、どのようにXMLで配列を書くことができますか?配列の配列/インデックスの前に名前を付けるだけですか? – clarkk

+0

XMLの「配列」に相当するのは、文字通り、同じノード名を持つネストされた兄弟要素のグループです。 – jerluc

+0

はいもちろんです.. hehe :) – clarkk

関連する問題