2012-02-07 15 views
1

私は以下のメソッドを持っていますが、私はこのメソッドを呼び出すメソッドをもう1つ持っていますが、まだ運がありません。HTTPレスポンスでのXMLの取得と読み込み

- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
    namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict{ 

     if ([elementName isEqualToString:@"isphone-config"]) { 
      Pusername = [attributeDict valueForKey:@"authentication_username"];  
      Ppassword = [attributeDict valueForKey:@"authentication_password"]; 
      Pidentity = [attributeDict valueForKey:@"sip_identity"]; 
      Pdomain = [attributeDict valueForKey:@"domain"]; 
      Pprotocol = [attributeDict valueForKey:@"protocol"]; 
      Pudpport = [attributeDict valueForKey:@"registrar_port"]; 
      Ptcpport = [attributeDict valueForKey:@"listening_port"]; 

      NSLog(@"Title: %@, ID: %@", Pusername, Ppassword); 
     } 
    } 
} 

そして、私は、以下の方法からそれを呼び出しています。..

NSString* username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username_preference"]; 
NSString* accountPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"password_preference"]; 
NSString* urlString = [NSString stringWithFormat:@"https://%@:%@@test.com/test.php",username,accountPassword]; 
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]; 
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

parser = [[NSXMLParser alloc] initWithData: response]; 

NSLog(@"at parser %@", parser); 

[parser setDelegate:self]; 

私はパーサを呼び出していた場所からのコードの最後の行で問題を抱えています。私は、この行がメソッドパーサを呼び出し、私が間違っていれば私を修正すると仮定します。インポート、インプリメント、実装するファイル、インタフェース、クラスがわかりません。

答えて

1

NSXMLParserを使ったXML解析は、Appleの「地震」の例で確認するのがはるかに難しいです。

代わりに別のXMLパーサーを使用することをお勧めします。たとえば、this one

Also, good article about how to choose parser.

http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml

+1

このアプローチはNSXMLParserよりもはるかに簡単ですが...私はNSXMLParserに多くの時間を過ごしたし、運がなかったです! – AAB

関連する問題