Yii2 輸出xml格式數(shù)據(jù)的方法
php中對xml的處理,雖然說實際開發(fā)中目前用的少了,但是難免會用到,用到的時候呢,總結(jié)起來還是稍稍有那么一丁點的麻煩。
我們來看看yii2中是怎么對xml進行處理的。會超乎你想象的簡單哦。
我們以輸出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>
上面提到的方式未免有點麻煩,麻煩在配置多項的時候就不是那么方便了,我們來自己創(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é)點
'itemTag' => 'url', //單元
],
],
'data' => [ //要輸出的數(shù)據(jù)
[
'loc' => 'http://********',
],
],
]);
}
為了方便接下來的說明,上面一并做了配置,可以看到我們配置了響應(yīng)的格式format,單獨做了些配置,包括配置根節(jié)點rootTag,單元itemTag以及數(shù)據(jù)類型。有同學(xué)注意到了,這里其實我們很簡單的就實現(xiàn)了一個站點地圖的xml格式輸出。是的,就是這么簡單。
- 解析yii數(shù)據(jù)庫的增刪查改
- Yii實現(xiàn)MySQL多數(shù)據(jù)庫和讀寫分離實例分析
- Yii2.0高級框架數(shù)據(jù)庫增刪改查的一些操作
- Yii實現(xiàn)多數(shù)據(jù)庫主從讀寫分離的方法
- YII2數(shù)據(jù)庫查詢實踐
- PHP的Yii框架中使用數(shù)據(jù)庫的配置和SQL操作實例教程
- Yii2如何批量添加數(shù)據(jù)
- Yii2 GridView實現(xiàn)列表頁直接修改數(shù)據(jù)的方法
- yii數(shù)據(jù)庫的查詢方法
- Yii學(xué)習(xí)總結(jié)之?dāng)?shù)據(jù)訪問對象 (DAO)
- Yii2框架數(shù)據(jù)庫簡單的增刪改查語法小結(jié)
- Yii2基于Ajax自動獲取表單數(shù)據(jù)的方法
- Yii遍歷行下每列數(shù)據(jù)的方法
相關(guān)文章
阿里云Win2016安裝Apache和PHP環(huán)境圖文教程
本文給大家講述的是在阿里云的WindowsServer2016上部署Apache和PHP的web環(huán)境,步驟非常細致,強烈推薦給大家2018-03-03
thinkPHP3.2使用RBAC實現(xiàn)權(quán)限管理的實現(xiàn)
這篇文章主要介紹了thinkPHP3.2使用RBAC實現(xiàn)權(quán)限管理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
PHP實現(xiàn)數(shù)據(jù)庫的增刪查改功能及完整代碼
這篇文章主要介紹了PHP實現(xiàn)數(shù)據(jù)庫的增刪查改功能及完整代碼,需要的朋友可以參考下2018-04-04

