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]

Reply via email to