Zoho API 中 XML 中的符号错误
Error with ampersand in XML in Zoho API
我正在使用 Zoho API 将销售线索插入 CRM。
一切正常,除非其中一个字段包含与号,在这种情况下,Zoho 的响应是这样的:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/insertRecords">
<error>
<code>4835</code>
<message>Unable to parse XML data</message>
</error>
</response>
我尝试了以下有效负载但没有成功:
1/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
2/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
3/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
4/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company"><![CDATA[Marks & Spencer]]></FL>
</row>
</Leads>
我什至按照 Zoho forum thread 上的建议用 %26
替换了 & 符号进行了测试,但没有成功。
Zoho 查询的正确编码格式是什么?
终于找到了解决方法:包含特殊字符的字符串必须包含在CDATA
部分AND那些特殊字符需要是percent encoded.
所以对于上面的例子,这给出了:
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company"><![CDATA[Marks %26 Spencer]]></FL>
</row>
</Leads>
请注意,值 Marks%20%26%20Spencer
也适用于 API。
我正在使用 Zoho API 将销售线索插入 CRM。
一切正常,除非其中一个字段包含与号,在这种情况下,Zoho 的响应是这样的:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/insertRecords">
<error>
<code>4835</code>
<message>Unable to parse XML data</message>
</error>
</response>
我尝试了以下有效负载但没有成功:
1/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
2/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
3/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company">Marks & Spencer</FL>
</row>
</Leads>
4/
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company"><![CDATA[Marks & Spencer]]></FL>
</row>
</Leads>
我什至按照 Zoho forum thread 上的建议用 %26
替换了 & 符号进行了测试,但没有成功。
Zoho 查询的正确编码格式是什么?
终于找到了解决方法:包含特殊字符的字符串必须包含在CDATA
部分AND那些特殊字符需要是percent encoded.
所以对于上面的例子,这给出了:
<Leads>
<row no="1">
<FL val="Lead Owner">me@example.com</FL>
<FL val="Company"><![CDATA[Marks %26 Spencer]]></FL>
</row>
</Leads>
请注意,值 Marks%20%26%20Spencer
也适用于 API。