我必须从网上解析这个 XML:
<trasporto>
<condizioni id="0">
<data> </data>
<titolo> </titolo>
<testo> </testo>
<sezione> </sezione>
</condizioni>
<condizioni id="1">
<data> </data>
<titolo> </titolo>
<testo> </testo>
<sezione> </sezione>
</condizioni>
........
........
........
</trasporto>
我需要来自每个condizioni的字段、数据 / titolo / testo / sezione
这是我的代码:
..............
//responseString contains the text fetched from the web
NSData *data = [responseString dataUsingEncoding:NSUTF8StringEncoding];
tbxml = [[TBXML alloc]initWithXMLData:data];
if (tbxml.rootXMLElement)
[self traverseElement:tbxml.rootXMLElement];
[tbxml release];
}
-(void) traverseElement:(TBXMLElement *)element {
NSMutableArray *dataArr = [[NSMutableArray alloc]init];
NSMutableArray *titoloArr = [[NSMutableArray alloc]init];
NSMutableArray *testoArr = [[NSMutableArray alloc]init];
NSMutableArray *sezioneArr = [[NSMutableArray alloc]init];
do {
NSLog(@"%@",[TBXML elementName:element]);
if (element->firstChild)
[self traverseElement:element->firstChild];
if ([[TBXML elementName:element] isEqualToString:@"trasporto"]) {
TBXMLElement *condizioni = [TBXML childElementNamed:@"condizioni" parentElement:element];
TBXMLElement *data = [TBXML childElementNamed:@"data" parentElement:condizioni];
TBXMLElement *titolo = [TBXML childElementNamed:@"titolo" parentElement:condizioni];
TBXMLElement *testo = [TBXML childElementNamed:@"testo" parentElement:condizioni];
TBXMLElement *sezione = [TBXML childElementNamed:@"sezione" parentElement:condizioni];
[dataArr addObject:[TBXML textForElement:data]];
[titoloArr addObject:[TBXML textForElement:titolo]];
[testoArr addObject:[TBXML textForElement:testo]];
[sezioneArr addObject:[TBXML textForElement:sezione]];
NSLog(@"data: %@",dataArr);// [TBXML textForElement:data]);
NSLog(@"titolo: %@",titoloArr);//[TBXML textForElement:titolo]);
NSLog(@"testo: %@",testoArr);//[TBXML textForElement:testo]);
NSLog(@"sezione: %@",sezioneArr);//[TBXML textForElement:sezione]);
// condizioni = condizioni -> nextSibling;
}
} while ((element = element->nextSibling));
}
但是这样我只能解析第一个条件,即 id=0 的条件。看来我找不到下一个兄弟姐妹了。我哪里错了?!!