带“&”(&符)字符的NSXMLParser问题

我的NSXMLParsing不工作,因为“&”字符..我的代码在下面。任何帮助吗?

NSString *myRequestString = [NSString stringWithFormat:@"http://abc.com/def/webservices/aa.php?family_id=%d",self.passFamilyId]; //NSLog(@"Requested Service = %@",myRequestString); NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:myRequestString]]; [request setHTTPMethod: @"POST" ]; NSData *downloadedData = [ NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSString *str = [[NSString alloc] initWithData:downloadedData encoding:NSASCIIStringEncoding]; //NSString *contentString = [str stringByReplacingOccurrencesOfString:@"&" withString:@"&"]; NSData * data=[str dataUsingEncoding:NSUTF8StringEncoding]; //NSLog (@"string is :%@" ,str); NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:data]; // Call the XMLParsers's initXMLParse method. ClientDetailXmlParser *parser = (ClientDetailXmlParser*)[[ClientDetailXmlParser alloc] initXMLParser]; [xmlParser setDelegate:parser]; BOOL success = [xmlParser parse]; // Check for XML parsing. if(success) { NSLog(@"No Errors in clientDetailXml.xml"); } else { NSLog(@"Error Error Error in clientDetailXml.xml!!!"); } [parser release]; parser = nil; if (objClientAddUpdate != nil) { [objClientAddUpdate createBubbleList]; } 

更换

 NSString *str = [[NSString alloc] initWithData:downloadedData encoding:NSASCIIStringEncoding]; //NSString *contentString = [str stringByReplacingOccurrencesOfString:@"&" withString:@"&"]; NSData * data=[str dataUsingEncoding:NSUTF8StringEncoding]; 

附:

 NSString *str = [[NSString alloc] initWithData:downloadedData encoding:NSASCIIStringEncoding]; NSString *contentString = [str stringByReplacingOccurrencesOfString:@"&" withString:@"&"]; NSData * data=[contentString dataUsingEncoding:NSUTF8StringEncoding]; 

以下是对我有用的东西:

 NSString *response = [[NSString alloc]initWithData:dataResponse encoding:NSUTF8StringEncoding]; NSString *newResponse = [response stringByReplacingOccurrencesOfString:@"&amp:" withString:@"AND"]; NSData *dataObj = [newResponse dataUsingEncoding:NSUTF8StringEncoding]; 

如果我用符号'&'replace它,那么响应就是正确的,但是它会抛出parsing错误:68.所以我不得不使用'和'。