XML creation using CodeIgniter
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 createdredirect($file_name);
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...
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);