今天偶然间在解析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方法来获取完整的一条记录。
后来查看文档才知道,苹果的帮助文档是这个说的:
// 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方法来获取完整的一条记录。