在PHP中动态生成XML-解析错误
我正在动态生成在PHP中动态生成XML-解析错误,php,xml,Php,Xml,我正在动态生成xml文件,在包含新闻文本时出错错误:XML解析错误:未定义的实体 通过删除新闻文本xml可以完美地生成。这是我正在使用的代码 $sqlNews = "SELECT * FROM news"; $runSqlNews = mysql_query($sqlNews); while ($rowSqlNews = mysql_fetch_array($runSqlNews)) $arrSqlNews[] = $rowSqlNews;
xml
文件,在包含新闻文本时出错<代码>错误:XML解析错误:未定义的实体通过删除新闻文本
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>';
$sqlNews=“从新闻中选择*”;
$runSqlNews=mysql\u查询($sqlNews);
而($rowSqlNews=mysql\u fetch\u数组($runSqlNews))
$arrSqlNews[]=$rowSqlNews;
标题('Content-type:text/xml');
标题(“Pragma:public”);
标头('Cache-control:private');
标题('Expires:-1');
回声“;
回声';
对于($i=0;$i),考虑在处理字符串时添加标记,因为特殊字符会破坏XML解析
echo "<newsText><![CDATA[".$arrSqlNews[$i][news_text]."]]></newsText>";
echo”“;
试试这个:
echo "<newsText><![CDATA[".$arrSqlNews[$i][news_text]."]]></newsText>";
echo”“;
它将阻止浏览器解析来自该字段内容的标记。PHP有几个扩展来生成XML,这些扩展负责生成有效的语法……这件事在我的本地服务器上运行良好。当我上传到我的站点时,我遇到了这个错误(XML解析错误:找不到元素)。原因可能是什么