Yii2。 Controller 中的 Action (方法):
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>
文档没有显示这种情况。
最佳答案
你不能。
此功能目前不受支持且不在路线图上。您必须构建自己的 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
关于php - 在 Yii 2 Response 中为 XML 标签添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36058558/