所以我在这里使用教程构建了一个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没有使用查询字符串。
有人可以帮忙吗?
答案 0 :(得分:2)
首先构建字符串,然后构建URL。
NSString *someId = @"00idcode00";
NSString *urlString = [NSString stringWithFormat:@"http://domain.com/xml.php?Id=%@", someId];
NSURL *url = [NSURL URLWithString:urlString];
错误表明查询参数为Id
,而不是id
。