? ,&使用PHP的XML问题

时间:2011-07-11 15:36:58

标签: php xml

我正在使用PHP从数据库创建XML文件。

我遵循这样的语法

$query = "SELECT * FROM t1 ORDER BY field1";

$resultID = mysql_query($query, $linkID) or die("Data not found.");

$row = mysql_fetch_assoc($resultID);

$xml_output .="\t\t\t\t\t\t<given_name>"  . $row['fieldname'] . "</given_name>\n";

echo $xml_output

一切运行良好,几乎形成了一个格式良好的XML。 但是有一些字符有问题,比如&amp;,?等等。, 我怎么能克服这个? 我不想用字符串替换这些..

我希望我的XML不需要针对指定架构进行验证的特殊结构。

帮助表示赞赏..

2 个答案:

答案 0 :(得分:3)

立即出现两种解决方案:

  1. 使用<[[CDATA部分。在这种情况下,不需要逃避特殊的角色。
  2. 逃离那些角色。 &等于&amp;。 htmlspecialchars确实是一个转换数据的PHP函数。但我宁愿选择第一个解决方案。

答案 1 :(得分:1)

使用PHP的htmlspecialchars函数对特殊字符进行编码。