eBay API PHP 和 XML 解析错误,当项目名称包含与号时


eBay API PHP & XML parse error when item's name contains ampersand

我一直在测试我的PHP应用程序,以使用他们的交易API在eBay上列出项目。我在测试中取得了成功,但我刚刚遇到了一些标题中带有 & 符号的项目。

此错误不断返回。

XML Error Text: "; nested exception is: 
    org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference

它告诉我的是,我不能简单地传递与号。

为了解决这个问题,我尝试了几件事:

$string = 'LEUPOLD 66325 4.5-14x50 VX-3 RIFLE SCOPE - SILVER, B&C BOONE & CROCKETT RETICLE';
echo str_replace("&","&",$string);
echo str_replace("&","&",$string);
echo htmlspecialchars($string,ENT_NOQUOTES);
echo htmlspecialchars($string);
echo htmlspecialchars_decode($string);

也试过这样

<![CDATA['.$string.']]>

无论我做什么,当我通过它时都不会成功。

谢谢大家的帮助。

您提交的数据是 UTF8 格式吗?如果不是,那可能是你的问题。

http://developer.ebay.com/Devzone/return-management/Concepts/MakingACall.html#utf8encoding

所有参数值都应以 UTF-8 格式编码。UTF-8 是 API 请求的默认编码。