Как разобрать строку с помощью TBXML в iphone SDK? - PullRequest
1 голос
/ 10 января 2012

Я попытался проанализировать следующую строку, используя TBXML.

<panel><start><post_id>4</post_id><user_id>2</user_id><post>Hyder here</post><created_on>2012-01-09 06:36:59</created_on><likes>0</likes><noc>0</noc><status>A</status></start><start><post_id>3</post_id><user_id>2</user_id><post>Hello hyder here</post><created_on>2012-01-09 06:34:09</created_on><likes>0</likes><noc>0</noc><status>A</status></start><start><post_id>2</post_id><user_id>0</user_id><post>Hi, This is Syed Hyder....</post><created_on>2012-01-09 01:07:36</created_on><likes>0</likes><noc>0</noc><status>A</status></start><start><post_id>1</post_id><user_id>0</user_id><post>Hello, gaurav....How are you.</post><created_on>2012-01-09 01:05:11</created_on><likes>0</likes><noc>0</noc><status>A</status></start></panel>

Мой код: -

NSMutableArray *newArr = [[NSMutableArray alloc] init];//21
    RXMLElement *rxml = [[RXMLElement alloc] initFromXMLString:response];
    [rxml iterate:@"panel.start" with:^(RXMLElement *start) {
        ModelPost *newPost = [[ModelPost alloc] init];
        newPost.message = [NSString stringWithFormat:@"%@", [start child:@"post"]];
        NSLog(@"Post = %@", [start child:@"post"]);
        [newArr addObject:newPost];
    }];

но я не могу это сделать или войти в iterate loop. Пожалуйста, помогите мне преодолеть это с помощью примера кода, предложений и учебных пособий. Заранее спасибо ....

1 Ответ

2 голосов
/ 10 января 2012
 - (void)xmlparserurl{

//xml data url calling....

    tbxml = [[TBXML tbxmlWithURL:[NSURL URLWithString:@"http://karen.webmascot.com/iapi/orders.php?max_count=10"]] retain];


records = [NSMutableArray array];
[records retain];




//retrieving all data from the xml
if (tbxml.rootXMLElement){
    NSLog(@"inserting");
    [self traverseElement:tbxml.rootXMLElement];
}
[tbxml release];
}

- (void)traverseElement:(TBXMLElement *)element {
do {
    //NSLog(@"%@",[TBXML elementName:element]);
    if (element->firstChild) 
        [self traverseElement:element->firstChild];
    if ([[TBXML elementName:element] isEqualToString:@"start"]) {
        //NSLog(@"xml element checking");
        TBXMLElement *id = [TBXML childElementNamed:@"attribute name" parentElement:element];

//inserting into the mutable array      
[records addObject:[NSArray arrayWithObjects:
[TBXML textForElement:elementname],
[TBXML textForElement:elementname],
[TBXML textForElement:elementname],nil]];

    }

} while ((element = element->nextSibling)); 


[self.tableview reloadData];
}

Я только отправляю код получения данных XML.Я также отправляю учебник, где вы получите ответ на ваш следующий вопрос.

http://www.tbxml.co.uk/TBXML/API.html

...