提问人:user3745888 提问时间:11/18/2016 更新时间:11/18/2016 访问量:88
如何在 Objective-c 中使用 NSXMLParser 保持换行符?
How to keep line break with NSXMLParser in Objective-c?
问:
我正在解析以 json 形式接收的文本,当 NSXMLParser 的函数解析器接收到 NSString 时,有时,如果结束词是最后一个词,则下次加入下一个词,这是不正确的,因为是独立的词。
例如,在文本中:
嗨,这是一个关于如何使用 NSXMLParser 解析文本的问题,我 需要解决这个问题。
首先,函数解析器接收一行文本:
“嗨,这是一个关于如何使用 NSXMLParser 解析文本的问题,我”
一切都是正确的,这正确地附加了文本,但随后收到这一行:“需要解决这个问题。并拆分文本,添加下一个“I”,不带换行符:
“嗨,这是一个关于如何使用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赞
rmaddy
11/18/2016
#1
您发布的代码故意从您从解析器获取的每个文本块中剥离空格(包括换行符),然后您的问题会询问如何阻止这种情况发生。
简单。停止打电话,你有你的解决方案。在错误的位置使用它。只需将文本附加在那里,不做任何其他操作。stringByTrimmingCharactersInSet
foundCharacters
您可能希望从最终文本值中删除空格和换行符。没关系。调用 after it has completed completed 的最终值。这可能需要在委托方法中完成。stringByTrimmingCharactersInSet
_selfText
didEndElement
评论