objective c:使用查询字符串获取xml文件

时间:2012-10-31 16:53:27

标签: objective-c query-string nsurl

所以我在这里使用教程构建了一个XML解析器:http://www.codeproject.com/Articles/248883/Objective-C-Fundamentals-NSXMLParser

我的问题是我调用的XML文件需要一个querystring参数。一个示例网址如下:

http://domain.com/xml.php?id=00idcode00

没有id= XML文件只返回一个XML元素<error>No id specified</error>;如果指定了id,则XML文件将返回50个奇数XML元素。

我的问题是无论我尝试什么,XML文件总是返回<error>。如何让NSURL使用查询字符串?

这是我的代码:

NSString *someId = @"00idcode00";
NSString *urlString = [NSString stringWithFormat:@"http://domain.com/xml.php?id=%@", someId];
NSURL *url = [NSURL URLWithString:urlString];

parser=[[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
[parser parse];

NSLog(@"query: %@",[url query]);

这个NSLog如下:

Started element error
Found an element named: error with a value of: No id specified.
query: id=00idcode00

我输出query url的最后一行意味着NSURL具有正确的查询字符串,但XML文件的响应表明NSURL没有使用查询字符串。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

首先构建字符串,然后构建URL。

NSString *someId = @"00idcode00";
NSString *urlString = [NSString stringWithFormat:@"http://domain.com/xml.php?Id=%@", someId];
NSURL *url = [NSURL URLWithString:urlString];

错误表明查询参数为Id,而不是id