XML creation using CodeIgniter

Solution 1:

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); 

Solution 2:

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...