在一個操作中,我需要用一些XML來響應。我使用Response::FORMAT_XML
,效果很好。如何修改響應格式本身?
// In a controller:
public static function actionFetchData() {
Yii::$app->response->format = Response::FORMAT_XML;
return [
'a' => 'b',
['c', 'd'],
'e' => ['f', 'g']
];
}
結果在瀏覽器中:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<a>b</a>
<item>
<item>c</item>
<item>d</item>
</item>
<e>
<item>f</item>
<item>g</item>
</e>
</response>
不過,我想從響應到數據更改根標籤的名稱。這應該是可能的,因爲用於呈現XML的XmlResponseFormatter具有屬性rootTag。我怎樣才能做到這一點?
或者一般情況下:如何更改格式化程序(也是JSON或其他)的設置?
小優化:可以使用'Response :: FORMAT_XML'來代替''xml''。 – robsch
對..嘿嘿.. –