• 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格式输出。是的,就是这么简单。

  • 相关阅读:
    查看eclipse web项目中jsp编译后的servlet源文件【转】【JSP】
    综合实战--文件上传系统【JDBC&IO&Socket】
    002、使用webpack的各种loader处理文件
    001、node & webpack工程手动搭建
    000、GO之特别语法糖
    000、GO之深刻理解拷贝
    000、常见算法解析
    003、GO之并发
    002、GO之反射
    001、GO之指针转换
  • 原文地址:https://www.cnblogs.com/wwolf/p/5453934.html
Copyright © 2020-2023  润新知