Создание XML-файла с использованием Codeigniter с
Я использую этот код в Codeigniter для генерации XML:
public function get_cuisine()
{
$this->load->dbutil();
$sql = "select * from cuisine";
$query = $this->db->query($sql);
$config = array (
'root' => 'root',
'element' => 'element',
'newline' => "n",
'tab' => "t"
);
echo $this->dbutil->xml_from_result($query, $config);
}
но это показывает общий формат печати. Как я могу заставить его отображаться как страница типа XML?
3 ответов
вам нужно будет установить заголовки XML, если вы хотите вывести файл напрямую:
использование Codeigniter выход класса:
$xml = $this->dbutil->xml_from_result($query, $config);
$this->output->set_content_type('text/xml');
$this->output->set_output($xml);
или вы можете использовать простой PHP для установки заголовки:
header('Content-type: text/xml');
echo $this->dbutil->xml_from_result($query, $config);
или вы можете использовать CI скачать помощник:
$xml = $this->dbutil->xml_from_result($query, $config);
$this->load->helper('download');
force_download('myfile.xml', $xml);
или запишите его в файл с помощник по файлам:
$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);
У меня был тот же вопрос. Я погуглил его. Нашел решение. И это прекрасно работает для меня. Нажмите здесь, чтобы получить исходный код
просто скачайте и распакуйте (распакуйте)
скопировать xml_writer.в PHP в приложении - > библиотеки извлеченной папки в папку библиотек в проекте Codeigniter.
скопировать XML-файле.в PHP в приложении - > контроллер в контроллерах папка
наконец-то скопировать XML-файле.в PHP в представлениях извлеченной папки в вашем представлении и запустите его..
индивидуальное решение:
$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);