2011-09-03 58 views
1

由於「&」字符,我的NSXMLParsing不工作..我的代碼在下面.any幫助嗎?帶「&」(&符)字符的NSXMLParser問題

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]; 
} 
+0

當您用「&」替換「&」時它會起作用嗎? –

+0

不,它不能我試過it.can你改變我的代碼我不知道..我不知道如何更換我的代碼中的字符串.. – PJR

+0

修改你的clientDetailXml.xml文件,並將&替換爲'和' –

回答

8

更換

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]; 
0

下面是我工作:

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

如果我用符號 '&' 取而代之,他們的迴應是正確的,但它會行解析錯誤:68.所以我不得不使用'和'。