【发布时间】:2018-11-18 00:28:03
【问题描述】:
每当我在公司名称中获得& (ampersand) 时,都会抛出错误Unable to parse XML data
XML 数据:
$xmlData = '<Leads>
<row no="1">
<FL val="Company"><![CDATA[ .$company. ]]></FL>
</row>
</Leads>';
$company = isset($company) && !empty($company) ? str_replace('&', '&', $company) : 'None';
我尝试将 &amp; 替换为 &amp; 、 %26 etc 并使用 CDATA,但没有任何效果。
XML 似乎仍然有效,但仍会引发错误
<Leads><row no="1"><FL val="Company">test & test</FL></row></Leads>
使用 CDATA:
<Leads><row no="1"><FL val="Company"><![CDATA[test & test]]></FL></row></Leads>
有什么办法可以解决?
P.S:我正在将此 xml 数据发送到 zoho CRM。 Zoho not accepting company name with & in it.
更新 1:
这是将 xml 数据发送到 zoho 的 URL,当它收到时它不起作用。
https://crm.zoho.com/crm/private/xml/Leads/insertRecords?newFormat=1&authtoken=authtoken&xmlData=<Leads><row no="1"><FL val="Company">test &amp; test</FL></row></Leads>
或
https://crm.zoho.com/crm/private/xml/Leads/insertRecords?newFormat=1&authtoken=authtoken&xmlData=<Leads><row no="1"><FL val="Company">test & test</FL></row></Leads>
&amp; 应该可以工作,但不能。 :(
【问题讨论】: