您现在的位置是:网站首页>>PHP>>Yii

Yii 输出Xml格式数据

发布时间:2018-09-06 14:42:33作者:wangjian浏览量:490点赞量:0

    yii2中支持以下几种返回格式:

    HTML: implemented by yii\web\HtmlResponseFormatter.

    XML: implemented by yii\web\XmlResponseFormatter.

    JSON: implemented by yii\web\JsonResponseFormatter.

    JSONP: implemented by yii\web\JsonResponseFormatter.

    RAW: use this format if you want to send the response directly without applying any formatting.


    简单的输出xml格式数据:


    public function actionTest () { 
        \Yii::$app->response->format = \yii\web\Response::FORMAT_XML; 
        return [ 
            'message' => 'hello world', 
            'code' => 100, 
        ]; 
    }

    输出结果为:


    <response>
        <message>hello world</message>
        <code>100</code>
    </response>

    上面的输出xml过于简单不便于设置标签,所以我们可以自己创建一个对象,可以方便于配置:



    public function actionIndex(){
            return \Yii::createObject([
                'class' => 'yii\web\Response',
                'format' => \yii\web\Response::FORMAT_XML,
                'formatters' => [
                    \yii\web\Response::FORMAT_XML => [
                        'class' => 'yii\web\XmlResponseFormatter',
                        'rootTag' => 'div', //根节点
                        'itemTag' => 'span', //单元
                    ],
                ],
                'data' => [//要输出的数据
                    [
                        'test'=>'测试xml'
                    ]
                ],
            ]);
        }

    输出结果为:

    <div>
    <span>
    <test>测试xml</test>
    </span>
    </div>

0 +1