Zoho XML格式化问题

时间:2013-08-07 07:01:15

标签: xml zoho

我正在向ZOHO CRM发送表单数据。我将一些变量添加到XML变量中,如下所示。

 $xml = 
    '<?xml version="1.0" encoding="UTF-8"?>
    <Leads>
    <row no="1">
    <FL val="First Name">'.$name.'</FL>
    <FL val="Last Name"> </FL>
    <FL val="Email">'.$email.'</FL>
    <FL val="Phone">'.$phone.'</FL>
    <FL val="Zip Code">'.$zip.'</FL>
    <FL val="Description">'.$lessonType.'</FL>
    <FL val="Lead Source">web</FL>
    <FL val="Referrer URL">'.$refURL.'</FL>
    </row>
    </Leads>';

但是当我这样做时,我收到以下错误。

  

4600无法处理您的请求。请验证名称和   value适用于“xmlData”参数。

当我用$ xml变量中的变量替换静态值并删除连接时,它已成功提交。

请告诉我如何解决这个问题。

由于 萨姆

4 个答案:

答案 0 :(得分:1)

  

尝试添加双引号而不是单引号,有时会出错   由于使用单引号而发生。

答案 1 :(得分:0)

不确定你是否修复了这个问题,但我认为我会把这2美分扔到这里,因为它仍然存在问题和/或其他人可能有类似的问题。

我首先要检查你的变量是否正确转义。特别要确保代码中的$ refURL变量转义为任何“/”字符。

如果一切正常,我会仔细检查必填字段。根据文档,它说姓氏和公司是必填字段。

http://www.zoho.com/crm/help/api/modules-fields.html#Leads

(我知道你说你测试了一个硬编码的XML文档,所以我想你已经覆盖了这个,但我只是想把它扔出去)

詹姆斯

答案 2 :(得分:0)

暂时没有更新。为了以防万一,您应该将数据括在CDATA标记中。这逃脱了特殊的角色。

参考:https://www.zoho.com/crm/help/api/insertrecords.html#Usage_of_&#39; CDATA&#39;

答案 3 :(得分:0)

如果您在xml中使用变量,请尝试使用此格式

<row no=\"1\">
    <FL val=\"Home Street Address\">". $post["home_add"] ."</FL>
    <FL val=\"City\">". $post["city"] ."</FL>
    <FL val=\"State\">". $post["state"] ."</FL>
    <FL val=\"Zip Code\">". $post["zip_code"] ."</FL>
    <FL val=\"Mobile\">". $post["mobile_phone"] ."</FL>
    <FL val=\"Social Security Num\">". $post["ss"] ."</FL>
    <FL val=\"DOB\">". $post["dob"] ."</FL>
</row>