Re: [flexcoders] Built-in way to determine the number of XML elements
Why don't you just test the length of the matches element? ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=output() mx:Script ![CDATA[ [Bindable] private var xml1:XML = root matches/ /root; [Bindable] private var xml2:XML = root matches match/ /matches /root; private function output ():void { r1.text = XML(xml1.matches).child('match').length().toString(); r2.text = XML(xml2.matches).child('match').length().toString(); } ]] /mx:Script mx:VBox mx:Label text=First Result/ mx:TextInput id=r1/ mx:Label text=Second Result/ mx:TextInput id=r2/ /mx:VBox /mx:Application On 29/11/2006, at 7:56 AM, Daniel Thompson wrote: I'm trying to see if a response from the server is empty. So, in one case I end up with: root matches/ /root And in the other, I get: root matches match ... / /matches /root Using this fancy E4X, how do I test for the different conditions? I always seem to be getting back an XMLList, be it empty or not. I can't imagine I have to iterate this and check that it's zero at the end, but length doesn't do it, and I can't check for null because I'm always getting an XMLList. Thanks, -DT
RE: [flexcoders] Built-in way to determine the number of XML elements
Daniel said but length doesn't do it without mentioning what it gave him (Probably undefined.) I suspect the problem is that he said match.length instead of match.length(). The length() of the matches element would always be 1, because there is always exactly one matches element, but the length() of the match element should give him the number of match elements inside matches, which might be 0, 1, or more. - Gordon From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Lachlan Cotter Sent: Wednesday, November 29, 2006 4:50 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Built-in way to determine the number of XML elements Why don't you just test the length of the matches element? ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml http://www.adobe.com/2006/mxml layout=absolute creationComplete=output() mx:Script ![CDATA[ [Bindable] private var xml1:XML = root matches/ /root; [Bindable] private var xml2:XML = root matches match/ /matche! s /root; private function output ():void { r1.text = XML(xml1.matches).child('match').length().toString(); r2.text = XML(xml2.matches! ).child('match').length().toString(); } ]] /mx:Script mx:VBox mx:Label text=First Result/ mx:TextInput id=r1/ mx:Label text=Second Result/ mx:TextInput id=r2/ /mx:VBox /mx:Application ! On 29/11/2006, at 7:56 AM, Daniel Thompson wrote: I'm trying to see if a response from the server is empty. So, in one case I end up with: root matches/ /root And in the other, I get: root matches match ... / /matches /root Using this fancy E4X, how do I test for the different conditions? I always seem to be getting back an XMLList, be it empty or not. I can't imagine I have to iterate this and check that it's zero at the end, ! but length doesn't do it, and I can't check for null because I'm always getting an XMLList. Thanks, -DT
RE: [flexcoders] Built-in way to determine the number of XML elements
length doesn'tdo it I think matches.match.length() -- not matches.match.length -- should give you the number of match tags. - Gordon From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Daniel Thompson Sent: Tuesday, November 28, 2006 12:56 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] Built-in way to determine the number of XML elements I'm trying to see if a response from the server is empty. So, in one case I end up with: root matches/ /root And in the other, I get: root matches match ... / /matches /root Using this fancy E4X, how do I test for the different conditions? I always seem to be getting back an XMLList, be it empty or not. I can't imagine I have to iterate this and check that it's zero at the end, but length doesn't do it, and I can't check for null because I'm always getting an XMLList. Thanks, -DT
RE: [flexcoders] Built-in way to determine the number of XML elements
I think matches.match.length() -- not matches.match.length -- should give you the number of match tags. Thanks Gordon. I was halfway there, having discovered length()... but was calling it on matches-- not match.