2012-03-22 7 views
1

私はいくつかの異なる配列(E_ANT、EFULLNAME、E_RULE、E_VACDAYS)で応答するWebサービスでSUDZCを使用しています。しかし、リクエスト結果を調べると、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データからの出力を表示していますか? これは、これは参考になりました

+0

...私は

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; } 

私sudzcデータを抽出する方法です。私は辞書の辞書として結果を得ることができましたが、それは私が私の鍵を知っていることと鍵をハードコードすることを必要としています。だから私はオブジェクトに応答を取得してデシリアライズする方法を探します。 –