微信js api支付的问题

时间:2022-02-16 20:25:27
请求xml中, 有一项是总金额
<total_fee>1</total_fee>

下面哪种表示是正确的?
        <total_fee>112100</total_fee> 正确?
还是<total_fee><![CDATA[112100]]></total_fee>正确?

同样的代码,  为何生成这个结构时有些没有加CDATA, 而有些自动给我加了CDATA?  

3 个解决方案

#2


引用 1 楼 starfd 的回复:
http://baike.baidu.com/link?url=p-qZDSx-qqTxzGyt8K57TLDa20-oS5NG1sb9g5V0vOTG4tHIyExifoxGGEqfEsIUVUqp6RVN3uQa-Szm_Au35K
都正确的

那么问题就在这了,  如果加上CDTATA,就会 
<return_code><![CDATA[FAIL]]></return_code>
 <return_msg><![CDATA[body参数格式错误]]></return_msg>

我对比了body中所有参数,所有的都一样, 就是金额有没有CDATA括起来。  正常的是不加CDATA的, 出错的都加加了。 

#3


那就不知道了,正常读取出来是一样的
string xml = @"<?xml version=""1.0"" encoding=""GBK""?> 
<root>  
<keyValue>  
<key> <![CDATA[birthday]]> </key>  
<value> <![CDATA[1969-12-01]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[sex]]> </key>  
<value> <![CDATA[1]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[businessScope]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[businessLicenseNo]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[otCardType]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[businessContacter]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[initialPassword]]> </key>  
<value> <![CDATA[111111]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[registeredCapital]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[cardType]]> </key>  
<value> <![CDATA[1]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[ip]]> </key>  
<value> <![CDATA[36.18.35.99]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[organizationCode]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[taxRegistrationNo]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[vocation]]> </key>  
<value> <![CDATA[XX]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[enterpriseKind]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[ContacterPhoneNo]]> </key>  
<value> <![CDATA[13917852203]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[legalRepresentative]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[otCardNumber]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[cardNumber]]> </key>  
<value> <![CDATA[370223196912012773]]> </value> </keyValue> </root>";
            XElement root = XElement.Parse(xml);
            List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>();
            foreach (var kvE in root.Elements("keyValue"))
            {
                KeyValuePair<string, string> kv = new KeyValuePair<string, string>(kvE.Element("key").Value, kvE.Element("value").Value);
                list.Add(kv);
            }

#1


#2


引用 1 楼 starfd 的回复:
http://baike.baidu.com/link?url=p-qZDSx-qqTxzGyt8K57TLDa20-oS5NG1sb9g5V0vOTG4tHIyExifoxGGEqfEsIUVUqp6RVN3uQa-Szm_Au35K
都正确的

那么问题就在这了,  如果加上CDTATA,就会 
<return_code><![CDATA[FAIL]]></return_code>
 <return_msg><![CDATA[body参数格式错误]]></return_msg>

我对比了body中所有参数,所有的都一样, 就是金额有没有CDATA括起来。  正常的是不加CDATA的, 出错的都加加了。 

#3


那就不知道了,正常读取出来是一样的
string xml = @"<?xml version=""1.0"" encoding=""GBK""?> 
<root>  
<keyValue>  
<key> <![CDATA[birthday]]> </key>  
<value> <![CDATA[1969-12-01]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[sex]]> </key>  
<value> <![CDATA[1]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[businessScope]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[businessLicenseNo]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[otCardType]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[businessContacter]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[initialPassword]]> </key>  
<value> <![CDATA[111111]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[registeredCapital]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[cardType]]> </key>  
<value> <![CDATA[1]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[ip]]> </key>  
<value> <![CDATA[36.18.35.99]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[organizationCode]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[taxRegistrationNo]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[vocation]]> </key>  
<value> <![CDATA[XX]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[enterpriseKind]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[ContacterPhoneNo]]> </key>  
<value> <![CDATA[13917852203]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[legalRepresentative]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[otCardNumber]]> </key>  
<value> <![CDATA[]]> </value> </keyValue>  
<keyValue>  
<key> <![CDATA[cardNumber]]> </key>  
<value> <![CDATA[370223196912012773]]> </value> </keyValue> </root>";
            XElement root = XElement.Parse(xml);
            List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>();
            foreach (var kvE in root.Elements("keyValue"))
            {
                KeyValuePair<string, string> kv = new KeyValuePair<string, string>(kvE.Element("key").Value, kvE.Element("value").Value);
                list.Add(kv);
            }