我正在动态生成 xml
文件,但在包含 newstext 时出现错误。 错误:XML 解析错误:未定义实体
!
通过删除 newstext xml
完美生成。这是我正在使用的代码。
$sqlNews = "SELECT * FROM news";
$runSqlNews = mysql_query($sqlNews);
while ($rowSqlNews = mysql_fetch_array($runSqlNews))
$arrSqlNews[] = $rowSqlNews;
header('Content-type: text/xml');
header('Pragma: public');
header('Cache-control: private');
header('Expires: -1');
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
echo '<xml>';
for($i=0;$i<count($arrSqlNews);$i++)
{
echo "<news>";
echo "<newsId>".$arrSqlNews[$i][id]."</newsId>";
echo "<newsAuthor>".$arrSqlNews[$i][news_author]."</newsAuthor>";
echo "<newsText>".$arrSqlNews[$i][news_text]."</newsText>";
echo "<description>".$arrSqlNews[$i][news_description]."</description>";
echo "<image>".$arrSqlNews[$i][news_image]."</image>";
echo "</news>";
}
echo '</xml>';
希望我的问题很清楚。提前致谢!!
最佳答案
考虑添加CDATA每当您使用字符串时,都会使用标签,因为特殊字符可能会破坏您的 XML 解析。
echo "<newsText><![CDATA[".$arrSqlNews[$i][news_text]."]]></newsText>";
关于php - 在 PHP 中动态生成 XML - 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13838833/