首頁  >  文章  >  後端開發  >  yii2 輸出xml格式數據

yii2 輸出xml格式數據

WBOY
WBOY原創
2016-07-29 08:51:291116瀏覽

作者:白狼出處:http://www.manks.top/yii2_xml_response.html.html本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

php中對xml的處理,雖然說實際開發中目前用的少了,但是難免會用到,用到的時候呢,總結起來還是稍稍有那麼一丁點的麻煩。

我們來看看yii2中是怎麼對xml進行處理的。會超乎你想像的簡單。

我們以輸出xml格式的資料為例。

既然是輸出,必然就涉及到web請求與回應了,不熟悉的可以先去了解下HTTP協定。

yii2中支援以下幾種返回格式,均可自訂配置。

  • HTML: implemented by yiiwebHtmlResponseFormatter.

  • XML: implemented by yiiwebXmlResponseFormatter.

  • JSONP: implemented by yiiwebJsonResponseFormatter.

  • RAW: use this format if you want to send the response directly without applying any formatting.

  • 我們就是衝著XML來的。

    先來看一個簡單的輸出xml格式資料
<span>public</span><span>function</span><span> actionTest () { 
    \Yii</span>::<span>$app</span>->response->format = \yii\web\Response::<span>FORMAT_XML; 
    </span><span>return</span><span> [ 
        </span>'message' => 'hello world', 
        'code' => 100,<span>
    ]; 
}</span>

這裡我們指定了reponse回應格式FORMAT_XML,然後存取這個test方法就可以看到頁面上輸出了xml類型的資料

<span><</span><span>response</span><span>></span><span><</span><span>message</span><span>></span>hello world<span></</span><span>message</span><span>></span><span><</span><span>code</span><span>></span>100<span></</span><span>code</span><span>></span><span></</span><span>response</span><span>></span>

提到的方式未免有點麻煩,麻煩在配置多項的時候就不是那麼方便了,我們來自己創建reponse對象試一試

 

<span>public</span><span>function</span><span> actionTest () { 
    </span><span>return</span> \Yii::<span>createObject([ 
        </span>'class' => 'yii\web\Response', 
        'format' => \yii\web\Response::FORMAT_XML, 
        'formatters' =><span> [ 
            \yii\web\Response</span>::FORMAT_XML =><span> [ 
                </span>'class' => 'yii\web\XmlResponseFormatter', 
                'rootTag' => 'urlset', <span>//</span><span>根节点 </span>                'itemTag' => 'url', <span>//</span><span>单元 </span>            ],<span>
        ]</span>, 
        'data' => [ <span>//</span><span>要输出的数据 </span><span>            [ 
                </span>'loc' => 'http://********',<span>
            ]</span>,<span>
        ]</span>,<span>
    ]); 
}</span>

為了方便接下來的說明,上面一併做了配置,可以看到我們配置了回應的格式format,單獨做了些配置,包括配置根節點rootTag,單元itemTag以及資料類型。有同學注意到了,這裡其實我們很簡單的就實作了一個網站地圖的xml格式輸出。是的,就是這麼簡單。

以上就介紹了yii2 輸出xml格式數據,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn