*UNTESTED*, but this was my thought...

    var level:int = 5;

    var xmlItem:* = xml.menu;
    for (var i:int =  0; i < level; i++) {
        xmlItem = xmlItem.item[this["whichItem" + ((i == 0) ? "" : i)]];
    }
    totalItems = xmlItem.item.length;



I am doing this: ["whichItem" + ((i == 0) ? "" : i)]
because I have no idea where that value comes from or what its for...





On Thu, Aug 11, 2011 at 11:48 AM, Merrill, Jason <
jason.merr...@bankofamerica.com> wrote:

> You just need a recursive loop to do this.  So I would write a function
> that handles each node level individually, adding to a class-level private
> property called something like, _totalItems.  The function basically checks
> the XML node to see if it has any children.  If it does, it calls itself,
> passing in the child XML node as an argument, and does the count the node,
> adding to the _totalItems private class property.  The function then does
> not call itself again if the XML node does not have any children. No switch
> statement would be needed.  Make sense?
>
>
>  Jason Merrill
>  Instructional Technology Architect II
>  Bank of America  Global Learning
>
>
>
>
>
> _______________________
>
> -----Original Message-----
> From: flashcoders-boun...@chattyfig.figleaf.com [mailto:
> flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of John Polk
> Sent: Thursday, August 11, 2011 11:31 AM
> To: Flash List
> Subject: [Flashcoders] Simplify XML Call
>
> Hi;
> I have this code:
>
>             switch (level)
>             {
>                 case 2:
>                     totalItems = xml.menu.item[whichItem].item.length();
>                     break;
>                 case 3:
>                     totalItems =
> xml.menu.item[whichItem].item[whichItem2].item.length();
>                     break;
>                 case 4:
>                     totalItems =
> xml.menu.item[whichItem].item[whichItem2].item[whichItem3].item.length();
>                     break;
>                 case 5:
>                     totalItems =
> xml.menu.item[whichItem].item[whichItem2].item[whichItem3].item[whichItem4].item.length();
>                     break;
>             }
>
>
>
> Ugly, I know. How do I write one or two lines that does all that and even
> better: loops it?
> TIA,
> John
>
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
> ----------------------------------------------------------------------
> This message w/attachments (message) is intended solely for the use of the
> intended recipient(s) and may contain information that is privileged,
> confidential or proprietary. If you are not an intended recipient, please
> notify the sender, and then please delete and destroy all copies and
> attachments, and be advised that any review or dissemination of, or the
> taking of any action in reliance on, the information contained in or
> attached to this message is prohibited.
> Unless specifically indicated, this message is not an offer to sell or a
> solicitation of any investment products or other financial product or
> service, an official confirmation of any transaction, or an official
> statement of Sender. Subject to applicable law, Sender may intercept,
> monitor, review and retain e-communications (EC) traveling through its
> networks/systems and may produce any such EC to regulators, law enforcement,
> in litigation and as required by law.
> The laws of the country of each sender/recipient may impact the handling of
> EC, and EC may be archived, supervised and produced in countries other than
> the country in which you are located. This message cannot be guaranteed to
> be secure or free of errors or viruses.
>
> References to "Sender" are references to any subsidiary of Bank of America
> Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are
> Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a
> Condition to Any Banking Service or Activity * Are Not Insured by Any
> Federal Government Agency. Attachments that are part of this EC may have
> additional important disclosures and disclaimers, which you should read.
> This message is subject to terms available at the following link:
> http://www.bankofamerica.com/emaildisclaimer. By messaging with Sender you
> consent to the foregoing.
>
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>



-- 
Ktu;

The information contained in this message may or may not be privileged
and/or confidential. If you are NOT the intended recipient, congratulations,
you got mail!
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to