XMLの属性から特定のノードを取得するやり方

var xml:XML = <root>
	<mission id="1">
		<password>A</password>
	</mission>
	<mission id="2">
		<password>B</password>
	</mission>
	<mission id="3">
		<password>C</password>
	</mission>
</root>

trace(xml.mission.(@id==2));
//<mission id="2">
//  <password>B</password>
//</mission>

同一の属性が全てのノードにないとエラーが出る。


【追記】
子ノードの値からノードを検出する方法(属性ではなく)

var xml:XML = <root>
	<mission id="1">
		<password>A</password>
		<user>a</user>
	</mission>
	<mission id="2">
		<password>B</password>
		<user>b</user>
	</mission>
	<mission id="3">
		<password>C</password>
		<user>c</user>
	</mission>
</root>

var xlist:XMLList = xml.mission.(password=="A");
trace(xlist.length()); //1
trace(xlist.child("user").toXMLString()); //<user>a</user>