1

そこで、ここのチュートリアルを使用してXMLパーサーを構築しました:http://www.codeproject.com/Articles/248883/Objective-C-Fundamentals-NSXMLParser

私の問題は、呼び出しているXMLファイルにクエリ文字列パラメーターが必要なことです。URLの例は次のようになります。

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

XMLファイルがないとid=、単一の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]);

そして、このNSLogsは次のとおりです。

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

の出力の最後の行は、NSURLに正しいクエリ文字列があることを示していますが、XMLファイルの応答は、NSURLがクエリ文字列を使用していないことを示していますqueryurl

誰か助けてもらえますか?

4

1 に答える 1

2

最初に文字列を作成し、次に URL を作成します。

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

エラーには、クエリ パラメータがIdではなく であることが示されていidます。

于 2012-10-31T16:56:49.530 に答える