如何使用Codeigniter在浏览器中查看XML文件

时间:2015-08-18 19:14:47

标签: php xml codeigniter

好的,我环顾四周,似乎无法解决这个问题。

这是我的CodeIgniter结构:

  • 订单
    • 应用
      • 控制器
      • 模型
      • 视图
    • XML

如您所见,XML文件夹位于应用程序文件夹之外。 在XML文件夹中,我有一个名为example.xml的xml文件。 在控制器内部,如何加载xml文件以在浏览器中查看它?

class Example extends CI_Controller {
   public function view_xml(){
       header("Content-type: text/xml");
       $this->load->view() ??????? // Here is where I'm stuck
   }
}

我尝试过使用BASEPATH和$ _SERVER [' DOCUMENT_ROOT']但没有运气。 我希望能够输入url example / view_xml来在浏览器中查看xml。

2 个答案:

答案 0 :(得分:1)

没关系,我明白了。我只是加载文件并将其回显到屏幕上,而不是使用CodeIgniter的$ this-> load-> view()。

public function view_xml(){
   header("Content-type: text/xml");
   $xml_file = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/xml/example.xml");
   echo $xml_file;
}

答案 1 :(得分:0)

您无法直接查看.xml文件,您需要删除它就像JSON一样的数据库文件。

下面是.xml文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

我们想从上面的XML文件中输出元素名称和数据。 这是做什么的:

  1. 加载XML文件
  2. 获取第一个元素的名称
  3. 使用。创建一个将在每个子节点上触发的循环 children()函数
  4. 输出每个子节点的元素名称和数据
  5. 示例:

    <?php
    $xml = simplexml_load_file("test.xml");
    
    echo $xml->getName() . "<br />";
    
    foreach($xml->children() as $child)
      {
      echo $child->getName() . ": " . $child . "<br />";
      }
    ?>
    

    结果:

    note
    to: Tove
    from: Jani
    heading: Reminder
    body: Don't forget me this weekend!