php - 在 PHP 中动态生成 XML - 解析错误

标签 php xml

我正在动态生成 xml 文件,但在包含 newstext 时出现错误。 错误:XML 解析错误:未定义实体! ERROR
通过删除 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/

相关文章:

java - log4j 2 : log file being created, 但未写入

java - 如何在代码中检索 layout_height

xml - xslt中如何获取同一节点下的最大值

php - 如何用PHP获取SVG标签内容

php - 如何使用 MySQL 查询创建表

php - if-else 在 laravel 中返​​回错误的值

php - 学说迁移 : How to avoid SQL errors in the postUp step?

php - Bootstrap 表仅在 <td> 中显示一行

Python 在循环中从 Csv 创建 XML

php - 转义冗长的 Bash 命令以与 PHP exec() 一起使用