# Filtering XML with multiple conditions

**URL:** <https://forum.kirupa.com/t/filtering-xml-with-multiple-conditions/311483>\
**Category:** flash\
**Created:** [July 7, 2010, 11:40pm UTC](https://forum.kirupa.com/t/filtering-xml-with-multiple-conditions/311483 "2010-07-07T23:40:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![gilbejam](https://avatars.discourse-cdn.com/v4/letter/g/9fc29f/32.png) [@gilbejam](https://forum.kirupa.com/u/gilbejam)\
**Post date:** [July 7, 2010, 11:40pm UTC](https://forum.kirupa.com/t/filtering-xml-with-multiple-conditions/311483/1 "2010-07-07T23:40:39Z")

</div>

I am trying to filter xml data based on a varying amount of factors, both category and range (code below).  
Is it even possible to put more than one conditional statement in an XML filter?  
Thanks in advance for any help or tips!  
Cheers,  
James

```auto
var l_results:XMLList = xml.products.product;	
			
			// testing
			currentRanges = ["floss", "envy", "cool", "moon"];//
			currentCategory = "Eraser";			
			
			var v_rangeCount:uint = currentRanges.length;
						
			if (currentCategory != "all"){
				l_results = l_results.(category == currentCategory);
				
			}			
			
			switch(v_rangeCount) {
				
				case 1:
					l_results = l_results.(range == currentRanges[0]);
					trace(v_rangeCount);
					break;
				
				case 2:
					l_results = l_results.(range == currentRanges[0] || currentRanges[1]);
					trace(v_rangeCount);
					break;
				
				case 3:
					l_results = l_results.(range == (currentRanges[0] && currentRanges[1] && currentRanges[2]));
					trace(v_rangeCount);
					
					break;
				case 4:
					l_results = l_results.(range == (currentRanges[0] && currentRanges[1] && currentRanges[2] && currentRanges[3]));
					trace(v_rangeCount);
					
					break;
				default:
					//
				
			}

```
