On Thu, Dec 11, 2008 at 1:00 AM, Kieren Eaton <[EMAIL PROTECTED]> wrote: > Hi All > > I know there are always several ways to do things and have come across > something which puzzles me as to > the efficiency of these 2 ways of getting the same data from an NSXMLNode > object. > > for this exercise assume theNode is an NSXMLNode object which has been > initialized and contains data and an attribute called class with something > in it. > > Scenario 1 > > NSXMLElement *nodeAsElement = (NSXMLElement *)theNode; > NSString *attribContent = [[nodeAsElement attributeForName:@"class"] > stringValue]; > NSLog(@"class contains %@",attribContent); > > Scenario 2 > > NSString *attribContent = [[theNode objectsForXQuery:@"data(@class)" > error:nil] objectAtIndex:0]; > NSLog(@"class contains %@",attribContent); > > these will and do produce the same data but for my own personal knowledge I > would like to know which is more efficient. > I use both in my code but am leaning more towards the xquery style for > readability and maintainability of larger more nested structures. > > Comments appreciated
I'd guess that #1 is going to be faster, simply because #2 has to parse the string and #1 does not. However, does it matter? Unless you're doing this over and over again in a tight loop, it probably doesn't make any difference which one you use, so go for the one you think is more readable. If it really does make a difference then you're in a perfect situation to find out for yourself. Try both, and measure how much time each one takes, and you will have your answer. Mike _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
