Użyłem zalecanej linii kodu:
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSMutableString *)string
{
// save the characters for the current item...
if ( [currentElement isEqualToString:@"title"])
{
currentNodeContent = [[NSMutableString alloc]init];
if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] > 0) {
[currentNodeContent appendString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
}
NSLog(@"currentnode content...%@",currentNodeContent);
[blogtitle addObject:currentNodeContent];
NSLog(@"%@",blogtitle);
}
T nadal otrzymuję pustą wartość w tablicy. Myślę, że inicjalizacja ciągu „currentNodeContent” powinna być gdzie indziej.
1
Ketan Shinde
12 sierpień 2011, 13:33
Po prostu nie dodawaj pustych ciągów do swojej tablicy. Sprawdź długość przed dodaniem.
– Evgeny Shurakov
12 sierpień 2011, 13:40
2 odpowiedzi
Najlepsza odpowiedź
Spróbuj tego
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSMutableString *)string
{
// save the characters for the current item...
if ( [currentElement isEqualToString:@"title"])
{
NSString *newString = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ([newString length] > 0)
{
[blogtitle addObject:newString];
}
NSLog(@"currentnode content...%@",currentNodeContent);
NSLog(@"%@",blogtitle);
}
2
Ketan Shinde
12 sierpień 2011, 14:34
1
Powinieneś przechowywać przycięty sznurek, aby uniknąć podwójnego przycinania.
– Georg Fritzsche
12 sierpień 2011, 13:47
Dzięki za informacje Georg, chodziło mi o sprawdzenie długości ciągu, nie pomyślałem o kodzie, doceniam twój komentarz, abym mógł poprawić swój sposób odpowiadania.., Zmodyfikowałem odpowiedź
– Nithin
12 sierpień 2011, 13:51
Sprawdź i dodaj tylko niepusty ciąg z na przykład [currentNodeContent length] > 0
w swoim NSXMLParserDelegate
.
0
PeyloW
12 sierpień 2011, 13:39
Podobne pytania
Nowe pytania
iphone
NIE używaj tego znacznika, chyba że adresujesz konkretnie iPhone'a i / lub iPoda touch firmy Apple. W przypadku pytań niezależnych od sprzętu użyj tagu [ios]. Więcej tagów do rozważenia to [xcode] (ale tylko jeśli pytanie dotyczy samego IDE), [swift], [objective-c] lub [cocoa-touch] (ale nie [cocoa]). Proszę powstrzymać się od pytań dotyczących iTunes App Store lub iTunes Connect. Jeśli używasz języka C #, oznacz tagiem [mono].