使用GDataXMLDocument解析xml属性

hum*_*rim 4 xml iphone xcode parsing objective-c

如何使用GDataXMLDocument解析xml属性?

我有一个xml字符串作为NSData(命名为xmlData)

<students>
 <student>
       <name>Raju</name>
       <age>25</age>      
 </student>
</students>
Run Code Online (Sandbox Code Playgroud)

然后我读了它:

 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]; 

}
Run Code Online (Sandbox Code Playgroud)

我得到了名字年龄.

现在我有一个带有属性的xml(作为NSData).

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

 </student>
</students>
Run Code Online (Sandbox Code Playgroud)

如何使用GDataXMLDocument读取年龄和名称?

sha*_*all 5

NSString *name = [[partyMember attributeForName:@"name"] stringValue];
Run Code Online (Sandbox Code Playgroud)