Here's a basic example using for each:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
private var myXML:XML =
<order>
<item id='1' quantity='2'>
<menuName>burger</menuName>
<price>3.95</price>
</item>
<item id='2' quantity='1'>
<menuName>fries</menuName>
<price>1.45</price>
</item>
</order>
private function sumTotal():void {
var t:Number = 0;
for each (var property:XML in myXML.item) {
var q:int = [EMAIL PROTECTED];
var p:Number = property.price;
var total:Number = q * p;
t += total;
}
l1.text = "$" + t.toString();
}
]]></mx:Script>
<mx:Label id="l1"/>
<mx:Button id="b1" click="sumTotal()" label="Get Total"/>
</mx:Application>
hth,
matt horn
flex docs
> -----Original Message-----
> From: [email protected]
> [mailto:[EMAIL PROTECTED] On Behalf Of coder_flex
> Sent: Thursday, June 22, 2006 10:49 PM
> To: [email protected]
> Subject: [flexcoders] e4x adding attributes across members.
>
> If my xml structure looks like this:
>
> var inputXML:XML =
> <books>
> <book name="da vinci code" author="dan brown" price="12.22"
> quantity="2"/>
> <book name="angels and daemons" author="dan brown" price="10.20"
> quantity="4"/>
> <book name="digital fortress" author="dan brown" price="12.22"
> quantity="5"/>
> </books>;
>
> I wanted an e4x expression to get the total of price*quantity
> across all the books.
>
> The way I am trying to achieve this is:
> define a function:
> public function addToTotal(totalObj:Object,
> perBookTotal:Number):void { totalObj.totalAmt+=perBookTotal; }
>
> then call the function from e4x expression:
>
> var totalClass = new Object();
> totalClass.totalAmt = 0;
>
> inputXML.book.(addToTotal(
> totalClass, Number(@price)*Number(@quantity)));
> trace(totalClass.totalAmt);
>
> I am in the process of trying this. Is this going to work at
> all? Or is there a better way of achieving this.
>
> Thanks in advance for all the help.
>
>
>
>
>
------------------------ Yahoo! Groups Sponsor --------------------~-->
Great things are happening at Yahoo! Groups. See the new email design.
http://us.click.yahoo.com/TISQkA/hOaOAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/