Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用CodeIgniter输出XML文件| API_Php_Xml_Apache_Api_Codeigniter - Fatal编程技术网

Php 使用CodeIgniter输出XML文件| API

Php 使用CodeIgniter输出XML文件| API,php,xml,apache,api,codeigniter,Php,Xml,Apache,Api,Codeigniter,我正在用CodeIgniter框架开发一个API 场景- 我的应用程序将使用 我的控制器将获得请求并处理它 控制器将使用$this->load->view('response',$data,true)调用视图 我的视图文件- Response.php <response> <status> 200 </status> <mode> VisaCreditCard </mode>

我正在用CodeIgniter框架开发一个API

场景-

  • 我的应用程序将使用
  • 我的控制器将获得请求并处理它
  • 控制器将使用
    $this->load->view('response',$data,true)
    调用视图
  • 我的视图文件-

    Response.php

    <response>
        <status>
            200
        </status>
        <mode>
            VisaCreditCard
        </mode>
        <options>
            <option name="Transfer" url="http://myapi.com/controller/transfer?id=8230&reason=illness" />
            <option name="Cancel" url="http://myapi.com/controller/cancel?id=3934"/>
            <option name="New Booking" url="http://myapi.com/controller/book_new" />
        </options>
    </response>
    
    当我查看页面的源代码时,我得到了我想要的内容,即respons.php文件中的文本 期望值 我希望我在输出中获得的源代码在调用该url时对可见


    服务器信息

    • Ubuntu 13.04

    • Apache2

    • PHP 5

    • Codeigniter 2.1.3(重写PHP短标记-FALSE和.htaccess以省略index.PHP)



    经过近7个小时的头部撞击式搜索,实验和痛苦终于暴露了出来


    我做了两件事就解决了

  • 在声明
    内容类型:text/xml
    的标题上设置
  • 省略第三个参数
    $this->load->view('response',$data)
  • 现在我的代码是:

    <?php header ("Content-Type:text/xml"); ?>
    
    <response>
        <status>
            200
        </status>
        <mode>
            VisaCreditCard
        </mode>
        <options>
            <option name="Transfer" url="http://myapi.com/controller/transfer?id=8230&reason=illness" />
            <option name="Cancel" url="http://myapi.com/controller/cancel?id=3934"/>
            <option name="New Booking" url="http://myapi.com/controller/book_new" />
        </options>
    </response>
    
    
    200
    VisaCreditCard
    

    另外,不要忘记将
    &
    转换为
    &否则您将再次陷入错误。

    我为您链接了一个潜在的重复项。我想如果您使用Codeigniter,这将对您有用。我是用你的问题标题作为搜索词找到的。@hakre谢谢通知。我已经删除了标签,但没有在此处编辑我的答案。如果您的问题得到解决。考虑接受最佳答案。
    <?php header ("Content-Type:text/xml"); ?>
    
    <response>
        <status>
            200
        </status>
        <mode>
            VisaCreditCard
        </mode>
        <options>
            <option name="Transfer" url="http://myapi.com/controller/transfer?id=8230&reason=illness" />
            <option name="Cancel" url="http://myapi.com/controller/cancel?id=3934"/>
            <option name="New Booking" url="http://myapi.com/controller/book_new" />
        </options>
    </response>