【发布时间】:2012-03-24 16:38:08
【问题描述】:
我目前有一个用 PHP 编写的脚本,我在其中连接到 phpMyAdmin 中的数据库,然后将所有表值解析为 XML 文档。
下面是脚本的工作原理:
$xmlBody .= "<XML>";
$sql_news = mysql_query("SELECT * FROM news_table");
$xmlBody .= "<News_Table>";
//this while loop churns out the values of our "news_table" table
while($row_news = mysql_fetch_array($sql_news)){
// Set DB variables into local variables for easier use
$id_news = $row_news["news_id"];
$author_news = $row_news["news_author"];
$time_news = $row_news["news_time"];
$title_news = $row_news["news_title"];
$content_news = $row_news["news_content"];
$desc_news = $row_news["news_description"];
$image_news = $row_news["news_image"];
$xmlBody .= '
<News_Table_Entry>
<DataID>' . $id_news . '</DataID>
<DataAuthor>' . $author_news . '</DataAuthor>
<DataTime>' . $time_news . '</DataTime>
<DataTitle>' . $title_news . '</DataTitle>
<DataContent>' . $content_news . '</DataContent>
<DataDesc>' . $desc_news . '</DataDesc>
<DataImage>' . $image_news . '</DataImage>
</News_Table_Entry>';
} // End while loop
$xmlBody .= "</News_Table>";
mysql_close(); // close the mysql database connection
$xmlBody .= "</XML>";
echo $xmlBody;
?>
如何创建并将其输出为外部XML file?我已经成功地让这个脚本工作了,但是使用所有写出 XML 的方法都不起作用。使用
echo 'Wrote: ' . $doc->save("/tmp/test.xml") . ' bytes'; // Wrote: 72 bytes
函数不起作用,fwrite 函数也不起作用。几天来,我一直在努力解决这个问题,但我被告知要尝试的解决方案都没有奏效。任何帮助或见解将不胜感激!
【问题讨论】:
-
为了可扩展性和维护,您应该研究序列化。查看pear.php.net/package/XML_Serializer/redirected
-
$doc?您没有使用DOMDocument或SimpleXML,对吗?因此,save方法没有被定义。 -
只是将文本写入文件怎么样?
标签: php mysql xml database phpmyadmin