【发布时间】:2010-04-23 21:59:17
【问题描述】:
我正在解析这一行:
<type>branch</type>
在didEndElement中使用此代码
if ([elementName isEqualToString:@"type"]) {
[currentBranchDictionary setValue:currentText forKey:currentElementName];
}
当我测试type 键中的值时,它不包含branch,而是包含branch\n。这是我正在执行的测试:
if ([[currentBranchDictionary valueForKey:@"type"] isEqualToString:@"branch"]) {
NSLog(@"no new-line");
} else if ([[currentBranchDictionary valueForKey:@"type"] isEqualToString:@"branch\n"]) {
NSLog(@"new-line");
}
这将返回“换行”输出
这里是 foundCharacters 方法:
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
[currentText appendString:string];
}
我不明白在哪里添加回车,有人可以帮忙吗?
【问题讨论】:
-
第一个代码sn-p是什么方法?显示 foundCharacters 方法。 currentText 还设置或修改了哪些其他地方?
-
第一个代码sn-p在didEndElement中。我会发布找到字符的方法,谢谢。
-
我也在
currentText = [NSMutableString string];didStartElement -
看不到任何明显的东西。 xml 中是否只返回一个
元素? xml解析后是否修改了currentBranchDictionary?在 didEndElement 中,为什么 key 使用 currentElementName 而不是 elementName(检查它是否设置正确)。在 xml 中,是否有任何其他标签具有值分支\n? -
有很多
<type>元素,源文件中没有一个\n。CurrentBranchDictionary用于保存几个元素的内容。他们每个人都附加了\n。
标签: objective-c xml cocoa-touch parsing