2012-03-22 65 views
1

我正在使用SUDZC與一個Web服務響應幾個不同的數組:E_ANT,EFULLNAME,E_RULE,E_VACDAYS。但是,當我查看請求結果時,只能看到E_ANT的值。我如何訪問其他項目,或者這是不可能的與sudzc?處理SUDZC的響應結果-NSMutableArray

<n0:Z_COM_URL_GETRECORDSResponse xmlns:n0="urn:sap-com:document:sap:rfc:functions"> 
    <E_ANT> 
     <item> 
      <MANDT>010</MANDT> 
      <USERID>00000016</USERID> 
      <VAC_DATE>2012-01-09</VAC_DATE> 
     </item> 
     <item> 
      <MANDT>010</MANDT> 
      <USERID>00000016</USERID> 
      <VAC_DATE>2012-02-01</VAC_DATE> 
     </item> 
     .... 
     <item> 
      <MANDT>010</MANDT> 
      <USERID>00000016</USERID> 
      <VAC_DATE>2012-03-15</VAC_DATE> 
     </item> 
    </E_ANT> 
    <E_FULLNAME>Vanessa Martinez</E_FULLNAME> 
    <E_RULE> 
     <item> 
      <MANDT>010</MANDT> 
      <USERID>00000016</USERID> 
      <DATE_FROM>2008-01-07</DATE_FROM> 
      <DATE_TO>9999-12-31</DATE_TO> 
      <VAC_ENTITLE>30.0</VAC_ENTITLE> 
      <ERNAM_ID>00004001</ERNAM_ID> 
      <ERDAT>2008-01-15</ERDAT> 
     </item> 
    </E_RULE> 
    <E_VACDAYS> 
     <MANDT>010</MANDT> 
     <USERID>00000016</USERID> 
     <KJAHR>2012</KJAHR> 
     <VAC_THIS_YEAR>30.0</VAC_THIS_YEAR> 
    </E_VACDAYS> 
    <E_VACPAID/> 
    </n0:Z_COM_URL_GETRECORDSResponse> 

回答

1

我的輸出不是在xml中。你是否向我們展示了sudzc的輸出或實際的xml數據? 這是我如何提取我的sudzc數據

if([value isKindOfClass:[NSError class]] || [value isKindOfClass:[SoapFault class]]) 
{ 

NSLog(@"%@", [value description]); 
return; 
} 

// Verify we're a dictionary 
if(![value isKindOfClass:[NSDictionary class]]) { 

NSLog(@"ERROR: Response not a dictionary"); 
return; 
} 

NSDictionary* dict = (NSDictionary*)value; 
NSDictionary* resp = [dict objectForKey:@"E_AN"]; 
if((resp == nil) || ![resp isKindOfClass:[NSDictionary class]]) { 

NSLog(@"ERROR: E_AN not a dictionary"); 
return; 
} 
dict = [resp objectForKey:@"item"]; 
if((dict == nil) || ![dict isKindOfClass:[NSDictionary class]]) { 

NSLog(@"ERROR: item not a dictionary"); 
return; 
} 
resp = [dict objectForKey:@"MANDT"]; 
if((resp == nil) || ![resp isKindOfClass:[NSDictionary class]]) { 

NSLog(@"ERROR: MANDT not a dictionary"); 
return; 
} 

...

+0

這是有益的。我設法在字典中得到結果作爲字典,但是這要求我知道我的密鑰並且硬鍵編碼。所以我會尋找一種方法來獲取反序列化對象的響應。 – 2012-11-15 14:08:56