您的位置:首页 > 其它

关于NSXMLParser的foundCharacters方法调用次数的问题

2014-11-27 15:35 260 查看
  今天偶然间在解析XML文件时在foundCharacters方法中写了一个输出语句,发现在程序执行过程中,每找到一个标签中的一句话,就会有两条输出语句,而且第一句输出的是null,第二句输出的是标签之间的那段话。我就纠结了,发现一个字符串会调用两次这个方法吗?为什么是null啊???发现一个字符串应该只调用一次这个方法就可以了啊。难道我的程序写错了,或者是我解析的XML文件有问题???再三查看自己的程序发现并没有错误……

  后来查看文档才知道,苹果的帮助文档是这个说的:
// This
returns the string of the characters encountered thus far. You may not
necessarily get the longest character run. The parser reserves the right
to hand these to the delegate as potentially many calls in a row to
-parser:foundCharacters:

翻译:

这将返回迄今为止遇到的字符的字符串。你不一定得到的最长字符运行。解析器有权交行解析器可能多次呼吁这些委托:foundCharacters:这个说明,在获取一个标签首尾间的字符数据时,这个方法可能被调用多次

因此你如果要获取完整的的,应该用string的append方法来获取完整的一条记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: