Разбор атрибута xml с использованием GDataXMLDocument - PullRequest
4 голосов
/ 08 сентября 2011

Как мне проанализировать атрибут xml с помощью GDataXMLDocument?

У меня есть строка XML как NSData (названная xmlData)

<students>
 <student>
       <name>Raju</name>
       <age>25</age>      
 </student>
</students>

Затем я прочитал ее:

 NSError *error;

 GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData options:0 error:&error];
    if (doc == nil) { return ; }


    //NSArray *partyMembers = [doc.rootElement elementsForName:@"Player"];
    NSArray *partyMembers = [doc nodesForXPath:@"//students/student" error:nil];
    for (GDataXMLElement *partyMember in partyMembers) {

        // Let's fill these in!
        NSString *name;
        int age;


        // Name
        NSArray *names = [partyMember elementsForName:@"name"];
        if (names.count > 0) {
            GDataXMLElement *firstName = (GDataXMLElement *) [names objectAtIndex:0];
            name = firstName.stringValue;
   NSLog([NSString stringWithFormat:@"name is: %@",name]);
        } else continue;

        // Level
        NSArray *ages = [partyMember elementsForName:@"age"];
        if (ages.count > 0) {
            GDataXMLElement *firstLevel = (GDataXMLElement *) [ages objectAtIndex:0];
            age = firstLevel.stringValue.intValue;
   NSLog([NSString stringWithFormat:@"age  is: %d",age]);
        } else continue;

    }

    [doc release]; 

}

Я получаю имя и age .

Теперь у меня есть xml (как NSData) с атрибутами.

<students>
 <student name="Raju" age = 25>       

 </student>
</students>

Howчитать возраст и имя, используя GDataXMLDocument?

Ответы [ 2 ]

5 голосов
/ 04 января 2012
NSString *name = [[partyMember attributeForName:@"name"] stringValue];
1 голос
/ 23 февраля 2012
NSInteger type=[[(GDataXMLNode *)[[urls objectAtIndex:i] attributeForName:@"type"] stringValue] intValue];


NSInteger bit_stream=[[(GDataXMLNode *) [[urls objectAtIndex:i] attributeForName: @"bit_stream"] stringValue] intValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...