@H_403_6@
如何使用GData
XMLDocument解析xml属性?
我有一个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]; }
我得到了名字和年龄.
现在我有一个带有属性的xml(作为NSData).
<students> <student name="Raju" age = 25> </student> </students>
解决方法
NSString *name = [[partyMember attributeForName:@"name"] stringValue];