2016-11-18 6 views
0

json에서받은 텍스트를 파싱 중이며 NSXMLParser의 함수 파서가 NSString을받을 때, 마지막 단어가 마지막 단어이고, 다음에 다음 단어를 결합 할 때 가끔 잘못되었습니다. 독립적 인 단어.Objective-c에서 NSXMLParser를 사용하여 줄 바꿈을 유지하는 방법은 무엇입니까?

텍스트의 예를 들면 다음과 같습니다

안녕하세요, NSXMLParser와 텍스트를 구문 분석하는 방법에 대한 질문, 나는 이 문제를 해결하면된다.

이,

모두가 올바른지 "안녕하세요, NSXMLParser와 텍스트를 구문 분석하는 방법에 대한 질문은 내가한다"첫째

기능 파서는 텍스트 행을받을 텍스트를 올바르게 추가하고이 행을 받으십시오. "이 문제를 해결해야합니다." 그리고 줄 바꿈없이 '나'옆에 추가 텍스트 분할 ". 안녕하세요, Ineed는이 문제를 해결 NSXMLParser와 텍스트를 구문 분석하는 방법에 대한 질문입니다"

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    ///Processing the text value of the current element 
    NSCharacterSet *characterSet = [NSCharacterSet whitespaceAndNewlineCharacterSet]; 
    NSString *text = [string stringByTrimmingCharactersInSet: characterSet]; 
    [_selfText appendString:text]; //Here append the string without line break 
} 

은이 문제를 어떻게 기능을 해결할 수있다?

답변

0

코드는 구문 분석기에서 가져온 각 텍스트 블록에서 고의적으로 공백 (줄 바꿈 포함)을 제거한 다음 문제가 발생하지 않도록하는 방법을 묻습니다.

심플. stringByTrimmingCharactersInSet에 전화하는 것을 중지하면 해결 방법이 생깁니다. foundCharacters에서 사용하는 것은 해당 호출에 대한 잘못된 장소입니다. 그냥 거기에 텍스트를 추가하고 아무것도하지 마십시오.

마지막 텍스트 값에서 공백과 개행을 제거 할 수 있습니다. 괜찮아. 완전히 구축 된 후에 _selfText의 최종 값 stringByTrimmingCharactersInSet으로 전화하십시오. 이 방법은 didEndElement 대리자 메서드에서 수행해야 할 수 있습니다.