REST API上的XML响应

时间:2011-07-04 17:04:49

标签: php xml api

修改

如何在xml“header”中添加编码

现在“标题”看起来像这样:

<?xml version="1.0"?>

在PHP中使用SimpleXML时如何在“标题”中添加编码?

我的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();
    }
}

1 个答案:

答案 0 :(得分:4)

嗯,我的丹麦语并不完美(或完全存在于此)。但是,我知道XML节点cannot begin with a number是一个事实。由于错误似乎在抱怨XML数据的良好构成,我认为这是因为<0></0>节点。

您可以尝试更改:

private $root = '<response />';

对于这样的事情:

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