2013-10-31 4 views
1

이 문제는 this question의 확장입니다. 내가 구문 분석 XML 데이터에 대한 아래의 코드를 사용하고 지금xml을 구문 분석하는 동안 NSmutable 문자열에 n 추가하는 것을 방지하려면 어떻게해야합니까?

,

-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
    rValue = [[NSMutableString alloc]init]; 
    isTag = FALSE; 
    if ([elementName caseInsensitiveCompare:@"BusinessName"] == NSOrderedSame) 
     isTag=YES; 

} 


-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)strin{ 
if (isTag) 
     [rValue appendString:strin]; 
} 

-(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 

    if([elementName caseInsensitiveCompare:@"BusinessName"] == NSOrderedSame) 
     [myarray addObject:rValue]; 
} 

-(void) parserDidEndDocument:(NSXMLParser *)parser 
{ 
    NSLog(@"%@",myarray); 
} 

rValue는 인 NSMutableString이다;

내 배열을 인쇄 한 후에는

(
"Book Store\n ", 
"Birch river grill\n ", 
"PIC\n ", 
"Drink Juice\n ", 
"Cofee Cafee\n ", 
"Diag Block\n ", 
"Delici Store\n ", 
"Rubbit Rabbit\n\n\n ", 
"Spoon Fork\n ", 
"Travel Sea\n\n ", 
"Water Melocious\n\n\n ", 
"Lazee Fish\n\n\n\n ", 
"Allow\n ", 
"Enjoy Traveling\n ", 
"Grwing Three\n ", 
"Diz Cow\n\n ", 
"Wheeler Marine\n\n\n " 
) 

어떻게 NSMutable 문자열 \n의 추가 방지 할 수 있습니다, 다음과 같습니다? 즉, 문자열을 확인해야합니다 \n 또는 아닙니다?

경우에 따라 이러한 \ n이 NSMutableString의 접두어로 표시됩니다. 어떤 제안도 환영 할만한 내용입니다.

-(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 

if([elementName caseInsensitiveCompare:@"BusinessName"] == NSOrderedSame) 
    [myarray addObject:[rValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]]; 

답변

4

이 방법을 변경하려고 -

-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)strin{ 
if (isTag) 
{ 
    NSString *newStr=[strin stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] 
    [rValue appendString:newStr]; 
} 
    } 
1

수정 당신의 상태를 :