2016-11-18 29 views
0

我正在解析在json中收到的文本,並且當NSXMLParser的函數解析器接收到NSString時,有時候,如果最後一個單詞是最後一個單詞,下次加入下一個單詞時,它是不正確的,因爲是獨立的詞。如何在Objective-c中使用NSXMLParser保持換行符?

例如在文本:

嗨,這是一個有關如何使用的NSXMLParser解析文本的問題,我需要 解決這個問題。

第一功能解析器收到的文本行:

「嗨,這是一個有關如何使用的NSXMLParser解析文本的問題,我」

一切都是正確的,這正確追加文本,但接收到這一行:「需要解決這個問題。」和斯普利特文本添加下一個「我」不換行:

「嗨,這是一個有關如何使用的NSXMLParser解析文本的問題, Ineed解決這個問題。」

- (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中使用它是該呼叫的錯誤地點。只需在其中添加文本,不要做其他任何事情。

它可能是你想從最終的文本值去除空白和換行符。沒關係。在完全構建完成後,請致電stringByTrimmingCharactersInSet最終值_selfText。這可能需要在didEndElement委託方法中完成。

相關問題