2

newstextxmlを含めると、ファイルを動的に生成し、エラーが発生します。! ニューステキストを 削除すると、完全に生成されます。これが私が使用しているコードです。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

特殊文字はXML解析を壊す可能性があるため、文字列を操作するときは常にCDATAタグを追加することを検討してください。

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 に答える