zoukankan      html  css  js  c++  java
  • yii2 输出xml格式数据

    作者:白狼 出处:http://www.manks.top/yii2_xml_response.html.html本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    php中对xml的处理,虽然说实际开发中目前用的少了,但是难免会用到,用到的时候呢,总结起来还是稍稍有那么一丁点的麻烦。

    我们来看看yii2中是怎么对xml进行处理的。会超乎你想象的简单哦。

    我们以输出xml格式的数据为例。

    既然是输出,必然就涉及到web请求与响应了,不熟悉的可以先去了解下HTTP协议。

    yii2中支持以下几种返回格式,均可自定义配置。

    我们就是冲着XML来的。

    先来看一种简单的输出xml格式数据

    public function actionTest () { 
        Yii::$app->response->format = yiiwebResponse::FORMAT_XML; 
        return [ 
            'message' => 'hello world', 
            'code' => 100, 
        ]; 
    }

    这里我们指定了reponse响应格式 FORMAT_XML,然后访问这个test方法就可以看到页面上输出了xml类型的数据

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

    上面提到的方式未免有点麻烦,麻烦在配置多项的时候就不是那么方便了,我们来自己创建reponse对象试一试

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

    为了方便接下来的说明,上面一并做了配置,可以看到我们配置了响应的格式format,单独做了些配置,包括配置根节点rootTag,单元itemTag以及数据类型。有同学注意到了,这里其实我们很简单的就实现了一个站点地图的xml格式输出。是的,就是这么简单。

  • 相关阅读:
    MyBatis初学者配置
    hibernate错题解析
    Hibernate二级缓存配置
    Open Session In View
    Hibernate延迟加载Lazy
    ThreadLocal
    HQL基础查询语句
    Hibernate中saveOrUpdate()和merge()的区别
    springmvc的类型转换
    springmvc的初始化参数绑定
  • 原文地址:https://www.cnblogs.com/wwolf/p/5453934.html
Copyright © 2011-2022 走看看