【发布时间】:2011-09-25 01:20:39
【问题描述】:
我正在使用一个 XML 提要,它的节点之一是一个类似于以下内容的 URL 字符串:
http://aflite.co.uk/track/?aid=13414&mid=32532&dl=http://www.google.com/&aref=chris
我知道 & 符号会在 XML 中引起很多问题,应该使用 & 而不是赤裸裸的 & 来转义。因此,我将 php 更改为如下:
<node><?php echo ('http://aflite.co.uk/track/?aid=13414&mid=32532&dl=http://www.google.com/&aref=chris'); ?></node>
但是,当它生成 XML 提要时,字符串会显示为完整的 &amp;
所以实际的 URL 不起作用。如果这是一个非常基本的误解,我们深表歉意,但一些指导会很棒。
我也尝试过使用%26 而不是&amp;,但仍然遇到同样的问题。
【问题讨论】:
-
&amp;是正确的。如果解析器在将 XML 节点值转换为字符串时未对其进行解码,则解析器已损坏,您需要修复它而不是 XML。 -
您不应该使用普通的
echo语句创建 XML。相反,请使用 SimpleXML 或 XMLWriter:它们都会为您处理脏细节。