0
我用這個方法查找第<>耦合到一個字符串(XML內容):iPhone - NSScanner不解析
NSScanner* scanner = [NSScanner scannerWithString:contentToParse];
int startPos = 0;
int endPos = 0;
// Open search
if ([scanner scanString:@"<" intoString:nil]) {
startPos = [scanner scanLocation]-1;
NSLog(@"found '<' at pos %i", startPos);
// close search
if ([scanner scanString:@">" intoString:nil]) {
endPos = [scanner scanLocation]-1;
NSLog(@"found '>' at pos %i", endPos);
NSString* tag = [contentToParse substringWithRange:NSMakeRange(startPos, endPos-startPos)];
NSLog(@"Tag found : %@", tag);
}
}
,但只有「在pos 0找到‘<’」記錄。 我的XML內容包含很多很多<>項目...
爲什麼該方法不起作用?
謝謝。但是爲什麼'[scanner scanUpToString:@「<」intoString:nil]; 如果(真)..............'工作(日誌很好),爲什麼|如果([掃描程序scanUpToString:@「<」intoString:nil])..............不要(沒有一個單一的日誌到控制檯)? – Oliver 2011-06-12 17:34:30
'[scanner scanUpToString:@「<」intoString:nil]'返回NO ...奇怪?我沒有改變charactersToBeSkipped ...提示:我有一個
Oliver
2011-06-12 17:37:47
@Oliver'scanUpToString:intoString:'returns'YES' **如果掃描器掃描任何字符**。如果你在開頭有一個「<」字符,它會返回「NO」。你不想使用這個方法的返回值來檢查它是否找到了字符串。使用'![掃描儀isAtEnd]'就像我的例子。 – albertamg 2011-06-12 17:59:37