从sudzc生成的文件objective-c解析数据?

时间:2012-03-23 18:08:17

标签: iphone sudzc

我正在尝试使用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;
}

2 个答案:

答案 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