加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML错误在PHP中编程时,对于属性“value”,需要打开引号

发布时间:2020-12-16 22:50:07 所属栏目:百科 来源:网络整理
导读:您好,感谢您的帮助, 我使用PHP编写XML请求,我遇到的问题是当我在值字段中使用变量时,它会返回错误.但是,当我手动写入值时,它可以完美地工作. 在字段名称=’Serial_Number’下,您将看到$MREPSerial是变量,让我们假设 在PHP中我们有$MREPSerial =’A-000-1042
您好,感谢您的帮助,

我使用PHP编写XML请求,我遇到的问题是当我在值字段中使用变量时,它会返回错误.但是,当我手动写入值时,它可以完美地工作.
在字段名称=’Serial_Number’下,您将看到$MREPSerial是变量,让我们假设
在PHP中我们有$MREPSerial =’A-000-1042′;以下XML会出错.但是,如果我只用XML中的值替换$MREPSerial它就会成功.任何帮助将不胜感激.谢谢!

$MREPSerial  = htmlspecialchars(strtoupper($_POST['NSMREP']));
echo "Hi".$MREPSerial;
<ZohoCreator>
            <applicationlist>
                <application name='ajout-de-materiel'>
                    <formlist>
                        <form name='MREP'>
                            <update>
                                <criteria>
                                    <field name='Serial_Number' compOperator='Equals' value={$MREPSerial}></field>
                                    <reloperator>AND</reloperator>
                                    <field name='MREP_Type' compOperator='Equals' value='0'></field>                            
                                </criteria>
                                <newvalues>
                                    <field name='Is_being_Used' value='TRUE'></field>
                                </newvalues>
                            </update>    
                        </form>
                    </formlist>
                </application>
            </applicationlist>
        </ZohoCreator>";


echo上的返回响应(包括我回显的XML)

A-000-1012HI! <?xml version="1.0" encoding="UTF-8" ?>
<response><errorlist><error><code>2830</code><message><![CDATA[Open quote is expected for attribute "value" associated with an  element type  "field".]]></message></error></errorlist></response>

如果我将它更改为’“.$MREPSerial.”对echo的返回响应.是:

A-000-1012HI! <?xml version="1.0" encoding="UTF-8" ?>
<response><result><form name="MREP"><update><criteria><field name="Serial_Number" compOperator="Equals" value=""></field><reloperator>AND</reloperator><field name="MREP_Type" compOperator="Equals" value="0"></field></criteria><newvalues><field name="Is_being_Used"><value><![CDATA[TRUE]]></value></field></newvalues> <status>Failure,No Records Found With Specified Criteria</status></update></form></result></response>

解决方法

您需要围绕value属性的实际值引用,如下所示:

<field name='Serial_Number' compOperator='Equals' value='{$MREPSerial}'></field>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读