2

当我包含newstext时,我正在动态生成xml文件并出现错误。! 通过删除新闻文本生成完美。这是我正在使用的代码。Error: XML Parsing Error: undefined entity错误
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>';

希望我的问题很清楚。提前致谢 !!

4

2 回答 2

2

每当您使用字符串时,请考虑添加CDATA标记,因为特殊字符可能会破坏您的 XML 解析。

echo "<newsText><![CDATA[".$arrSqlNews[$i][news_text]."]]></newsText>";
于 2012-12-12T11:39:15.230 回答
1

试试这个:

echo "<newsText><![CDATA[".$arrSqlNews[$i][news_text]."]]></newsText>";

它将阻止浏览器从该字段内容中解析标签。

于 2012-12-12T11:40:27.857 回答