在Yii 2响应

时间:2016-03-17 10:58:46

标签: php xml yii2

Yii2。控制器中的动作(方法):

public function actionGet()
{
    Yii::$app->response->format = Response::FORMAT_XML;

    return [
        'items' => [
            ['id' => 'data'],
            ['id' => 'body'],
        ],
    ];
}

在输出获取XML:

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <items>
        <item>
            <id>data</id>
        </item>
        <item>
            <id>body</id>
        </item>
    </items>
</response>

如何在XML标记中添加属性?并删除response代码:

<?xml version="1.0" encoding="UTF-8"?>
<items>
    <item update="true">
        <id>data</id>
    </item>
    <item update="false" new="true">
        <id>body</id>
    </item>
</items>

文档未显示此案例。

1 个答案:

答案 0 :(得分:1)

你不能。

此功能目前不受支持,不在路线图上。您必须构建自己的ResponseFormatter(实现http://www.yiiframework.com/doc-2.0/yii-web-responseformatterinterface.html)才能实现此目的。

请参阅:https://github.com/yiisoft/yii2/issues/5996

此外,无法删除response标记。您可以通过设置格式化程序的rootTag值来重命名根标记。 http://www.yiiframework.com/doc-2.0/yii-web-xmlresponseformatter.html#%24rootTag-detail