Yii2 輸出xml格式數(shù)據(jù)的方法
來源:易賢網(wǎng) 閱讀:968 次 日期:2016-08-25 15:07:35
溫馨提示:易賢網(wǎng)小編為您整理了“Yii2 輸出xml格式數(shù)據(jù)的方法”,方便廣大網(wǎng)友查閱!

php中對xml的處理,雖然說實(shí)際開發(fā)中目前用的少了,但是難免會用到,用到的時候呢,總結(jié)起來還是稍稍有那么一丁點(diǎn)的麻煩。

我們來看看yii2中是怎么對xml進(jìn)行處理的。會超乎你想象的簡單哦。

我們以輸出xml格式的數(shù)據(jù)為例。

既然是輸出,必然就涉及到web請求與響應(yīng)了,不熟悉的可以先去了解下HTTP協(xié)議。

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來的。

先來看一種簡單的輸出xml格式數(shù)據(jù)

public function actionTest () {

\Yii::$app->response->format = \yii\web\Response::FORMAT_XML;

return [

'message' => 'hello world',

'code' => 100,

];

}

這里我們指定了reponse響應(yīng)格式 FORMAT_XML,然后訪問這個test方法就可以看到頁面上輸出了xml類型的數(shù)據(jù)

<response>

<message>hello world</message>

<code>100</code>

</response>

上面提到的方式未免有點(diǎn)麻煩,麻煩在配置多項(xiàng)的時候就不是那么方便了,我們來自己創(chuàng)建reponse對象試一試

public function actionTest () {

return \Yii::createObject([

'class' => 'yii\web\Response',

'format' => \yii\web\Response::FORMAT_XML,

'formatters' => [

\yii\web\Response::FORMAT_XML => [

'class' => 'yii\web\XmlResponseFormatter',

'rootTag' => 'urlset', //根節(jié)點(diǎn)

'itemTag' => 'url', //單元

],

],

'data' => [ //要輸出的數(shù)據(jù)

[

'loc' => 'http://********',

],

],

]);

}

為了方便接下來的說明,上面一并做了配置,可以看到我們配置了響應(yīng)的格式format,單獨(dú)做了些配置,包括配置根節(jié)點(diǎn)rootTag,單元itemTag以及數(shù)據(jù)類型。有同學(xué)注意到了,這里其實(shí)我們很簡單的就實(shí)現(xiàn)了一個站點(diǎn)地圖的xml格式輸出。是的,就是這么簡單。

更多信息請查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)