我正在尝试使用sudzc生成的文件获取特定数据。我使用他们的示例代码让我到了cxmlnode * result =(cxmlnode *)值;
它给了我nslog: .....
“description”=“测试说明”;
...
如何获取数据测试说明以放入变量?
是否有人知道是否必须使用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;
}
答案 0 :(得分:0)
你试过吗
NSString *data = [yourDictionary objectForKey:@"description"]
答案 1 :(得分:0)
在调试会话期间(在处理程序中设置断点),在所有输出窗口中非常容易,输入:po result。然后它将显示返回的XML !!这不是JSON,因为SUDZC正在使用SOAP。我有一个使用SUDZC的.Net后端项目并且工作得很好。您需要通过SUDZC调整生成的代码以满足您的需求。最好的方法是在SOAPRequest.m文件中反序列化之前记录返回的XML。在connectionDidFinishLoading方法中使用NSLog。你也可能需要这个: http://www.dailycode.info/Blog/post/2012/08/10/Sudzc-code-generator-is-missing-SoapDictionary.aspx