从MYSQL检索数据并保存XML

时间:2015-05-21 11:02:17

标签: php mysql xml

我是PHP的新手,我正在尝试从mysql数据库中检索数据并将其存储在xml文件中(然后我将创建一个自动下载的文件)。所以我实现了第一步和最后一步,但我无法存储我得到的xml数据。可能我错过了一些非常简单的东西,但我尝试了很多东西,但没有一个给我我想要的结果。这是我正在使用的代码

<?php

$file = new DOMDocument("1.0"); 


$file->formatOutput = true;



//database configuration
$config['host'] = "xxx";
$config['user'] = "xxx";
$config['pass'] = "xxx";
$config['db_name']    = "xxx";
$config['table_name'] = "xxx";


//connect
mysql_connect($config['host'],$config['user'],$config['pass']);

//Select
@mysql_select_db($config['db_name']);


$file          = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$root_element = $config['table_name']."s"; 
$file         .= "<$root_element>";

//All items
$sql = "SELECT * FROM ".$config['table_name'];

$result = mysql_query($sql);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

if(mysql_num_rows($result)>0)
{
   while($result_array = mysql_fetch_assoc($result))
   {
      $file .= "<".$config['table_name'].">";

      foreach($result_array as $key => $value)
      {
         //$key holds the table column name
         $file .= "<$key>";

         $file .= "<$value>";

         //and close the element
         $file .= "</$key>";
      }

      $file.="</".$config['table_name'].">";
   }
}


$file .= "</$root_element>";

//If I do an echo here with the headers, it is working.

echo $xml->saveXML();

$file->save('example.xml');



?>

感谢您的帮助;)

解决: 我无法按照我在这里解释的方式使其工作,但我找到了如何跳过这个问题。我所做的只是在一个.html / .php文件中创建xml,从另一个文件中保存文件并使用以下命令下载:

$xml = file_get_contents('xxxx.html');
file_put_contents('example.xml', $xml);

0 个答案:

没有答案