0

sudzc で生成されたファイルで特定のデータを取得しようとしています。サンプルコードを使用して、 cxmlnode* result = (cxmlnode*)value; のポイントにたどり着きました。

それは私に次のnslogを与えます:.....

"説明" = "テストの説明";

...

データのテストの説明を取得して変数に入れるにはどうすればよいですか?


jsonで解析する必要があるかどうかは誰にもわかりませんか? 形式は xml ではありません。私は初心者で、まだ問題があります。

私はNSDictionaryを使ってそれを理解しました:

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:@"UpdateQOHLookupItemResult"];
if( ( resp == nil ) || ![resp isKindOfClass:[NSDictionary class]] ) {

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

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

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

2 に答える 2

0

デバッグ セッション中に [すべての出力] ウィンドウで非常に簡単に (ハンドラーにブレークポイントを設定)、次のように入力します。次に、返された XML が表示されます!! SUDZC は SOAP を使用しているため、JSON ではありません。SUDZC を使用して完全に動作する .Net バックエンドのプロジェクトがあります。SUDZC によって生成されたコードをニーズに合わせて調整する必要があります。開始する最良の方法は、SOAPRequest.m ファイルで逆シリアル化する前に、返された XML をログに記録することです。メソッド connectionDidFinishLoading で NSLog を使用します。これも必要かもしれません: http://www.dailycode.info/Blog/post/2012/08/10/Sudzc-code-generator-is-missing-SoapDictionary.aspx

于 2013-01-10T14:13:42.987 に答える
0

やってみました

NSString *data = [yourDictionary objectForKey:@"description"]
于 2012-05-01T13:25:02.930 に答える