Вопрос по xml, codeigniter, php – Создание XML с использованием CodeIgniter
Я использую этот код в Codeigniter для генерации XML:
<code>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); } </code>
Но это показывает общий формат печати. Как я могу сделать так, чтобы он отображался как страница типа XML?
Вам нужно установить заголовки 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 в application-> gt; библиотеки извлеченной папки в вашу папку библиотек в вашем проекте 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);