检索特定数据

时间:2012-08-23 15:09:18

标签: objective-c

我是xcode的新手..我很想学习从XML中检索数据。这是一段草案代码,我已经被困了好几天..我设法显示XML代码列表

XML CODE:

<find>
<set_number>038881</set_number>
<no_records>000138874</no_records>
<no_entries>000007000</no_entries>
</find>

然而,现在我在从这个xml中只检索set_number时遇到了一些困难......由于保密目的,我把它留空了......所以不要介意它..最后两个代码导致我的应用程序强迫关闭..帮助!!

 NSString *URL = [NSString stringWithFormat:@""];

 NSMutableData *receivedData = [[[NSMutableData alloc] initWithContentsOfURL:[NSURL URLWithString:URL] ]autorelease];            
 NSString *theRecord = [[[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding] autorelease];

  NSString *path = [theRecord valueForKey: @"set_number"];
     NSLog(@"File Data: %@", path);    

我尝试在底部添加此代码而不是..

   if ([theRecord isEqualToString:@"no_records"]){ 

        NSLog(@"Contents of URL: %@", theRecord); 
}

然后我也尝试调试我的代码..没有显示错误..相反,它们显示0输出..我想知道是因为我的no_records是一个整数?但我已将记录分配为字符串..这就是他们无法显示的原因吗?


我尝试在底部添加此代码而不是..

   `if ([theRecord isEqualToString:@"no_records"]){ 

        NSLog(@"Contents of URL: %@", theRecord); 
}` 

然后我也尝试调试我的代码..没有显示错误..相反,它们显示0输出..我想知道是因为我的no_records是一个整数?但我已将记录分配为字符串..这就是为什么他们无法显示?请帮忙!!

2 个答案:

答案 0 :(得分:0)

要解析XML,请使用NSXMLParser类。

答案 1 :(得分:0)

NSString * path = [theRecord valueForKey:@“set_number”];

theRecord是一个不能使用valueForKey的NSString实例。 您应首先解析xml字符串并从标记中获取所需的内容。 或者你应该在你的字符串中获得子字符串。