XML creation using CodeIgniter

后端 未结 3 1925
攒了一身酷
攒了一身酷 2020-12-03 00:34

I\'m using this code in Codeigniter to generate XML:

public function get_cuisine()
{
    $this->load->dbutil();
    $sql = \"select * from cuisine\";
          


        
相关标签:
3条回答
  • 2020-12-03 00:37

    You'll need to set XML headers if you want to output the file directly:

    Using the Codeigniter Output class:

    $xml = $this->dbutil->xml_from_result($query, $config);
    $this->output->set_content_type('text/xml');
    $this->output->set_output($xml); 
    

    Or you can use plain PHP to set the headers:

    header('Content-type: text/xml');
    echo $this->dbutil->xml_from_result($query, $config);
    

    Or you can use the CI download helper:

    $xml = $this->dbutil->xml_from_result($query, $config);
    $this->load->helper('download');
    force_download('myfile.xml', $xml);
    

    Or write it to a file with the file helper:

    $xml = $this->dbutil->xml_from_result($query, $config);
    $this->load->helper('file');
    $file_name = '/path/to/myfile.xml';
    write_file($file_name, $xml);
    // Optionally redirect to the file you (hopefully) just created
    redirect($file_name); 
    
    0 讨论(0)
  • 2020-12-03 00:43

    I had also the same question. I have googled it. Found this solution. And it works perfectly for me. Click here to get the source code

    Just download and unzip ( extract it)

    Then copy the xml_writer.php in application->libraries of the extracted folder to your libraries folder in your Codeigniter project.

    Also copy the xml.php in the application->controller in to your controllers folder

    Finally copy the xml.php in the views of the extracted folder in to your view and run it..

    That's it...

    0 讨论(0)
  • 2020-12-03 00:59

    Custom solution:

    $mysql_data = $this->db->get('products')
                        ->result_array();
    $xml = '<root>';
    foreach($mysql_data as $row){
      $xml .= '<item>
                 <name>'.$row['title'].'</name>
                 <price>'.$row['price'].'</price>
                 <image>'.$row['pic'].'</image>
               </item>';
    }
    $xml .= '</root>';
    $this->output->set_content_type('text/xml');
    $this->output->set_output($xml);
    
    0 讨论(0)
提交回复
热议问题