很抱歉问了一些愚蠢的问题,但我仍然遇到 Objective-C 语法的问题。所以,我从我的 sudzc.com 生成的代码中得到了这个 SOAP 响应。它应该包含一个带有veh_id
和version
作为列的 SQL SELECT 结果。
我作为响应对象得到的是一个 NSMutableArray,
NSMutableArray* soapArray = (NSMutableArray*)value;
所以我走过它:
unsigned count = [soapArray count];
while (count--) {
id myobj = [soapArray objectAtIndex:count];
NSLog(@"myobj: %@", myobj);
}
我得到的打印输出是这样的:
myobj: {
item = {
key = version;
value = 1;
};
对于 SQL 结果的每一行。如果这是数组元素的打印输出,为什么只有version
列而不是veh_id
列?
如何访问myobj
类型对象上的键值id
?我必须先投吗?
这是从 Zend Soap-Server 返回的 XML 字符串:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.[myurl].com/soap" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getActiveVehiclesResponse><return SOAP-ENC:arrayType="ns2:Map[23]" xsi:type="SOAP-ENC:Array"><item xsi:type="ns2:Map"><item><key xsi:type="xsd:string">veh_id</key><value xsi:type="xsd:string">1</value></item><item><key xsi:type="xsd:string">version</key><value xsi:type="xsd:string">1</value></item></item><item xsi:type="ns2:Map"><item><key xsi:type="xsd:string">veh_id</key><value xsi:type="xsd:string">3</value></item><item><key xsi:type="xsd:string">version</key><value xsi:type="xsd:string">1</value></item></item><item xsi:type="ns2:Map"><item><key xsi:type="xsd:string">veh_id</key><value xsi:type="xsd:string">4</value></item><item><key xsi:type="xsd:string">version</key><value xsi:type="xsd:string">1</value></item></item></return></ns1:getActiveVehiclesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>