У меня есть компонент дерево. ХМЛ его состоит из тегов payment, но глубина вложения не известна.
Прмер:

Код:
<payments>
<payment current_iba_id="111111111" parent_iba_id="" label="Наличные платежи" isBranch="true">
<payment current_iba_id="111200309" parent_iba_id="111111111" label="УЖКХ. Минск - oFF-line с остатком" isBranch="false"/>
<payment current_iba_id="111999999" parent_iba_id="111111111" label="УСЛУГИ СВЯЗИ..." isBranch="true">
<payment current_iba_id="111300502" parent_iba_id="111999999" label="Белсел" isBranch="false"/>
</payment>
<payment current_iba_id="100300668" parent_iba_id="111111111" label="ByFly. Гомельская обл." isBranch="false"/>
<payment current_iba_id="199100501" parent_iba_id="111111111" label="Орифлэйм" isBranch="false"/>
<payment current_iba_id="777777777" parent_iba_id="111111111" label="999999999999999999999999999999999999999999999" isBranch="true">
<payment current_iba_id="111200309" parent_iba_id="777777777" label="УЖКХ. Минск - oFF-line с остатком" isBranch="false"/>
<payment current_iba_id="111200301" parent_iba_id="777777777" label="УЖКХ. Минск" isBranch="false"/>
</payment>
</payment>
</payments>
МНЕ НУЖНО НАЙТИ, АКТИВИЗИРОВАТЬ И ОТКРЫТЬ ОПРЕДЕЛЁННЫЙ УЗЕЛ ДЕРЕВА с заданными атрибутами current_iba_id="777777777" и parent_iba_id="111111111". Пытаюсь найти искомый узел рекурсивно(так как не знаю глубину вложения).

Код:
var myXML:XML= XML(resultXmlList);
myTree.dataProvider=myXML;
var node:XML = getSelectNodeFromXML(resultXML.parent_iba_id[0], resultXML.current_iba_id[0], myXML)
myTree.validateNow();
myTree.expandItem(node, true);
myTree.selectedItem = node;
public function getSelectNodeFromXML(parent_iba_id:String, current_iba_id:String, xml_tmp:XML):XML
{
var children:XMLList = XMLList(xml_tmp).children();
for(var i:Number=0; i < children.length(); i++)
{
if( children[i].@current_iba_id == current_iba_id && children[i].@parent_iba_id == parent_iba_id) {
return children[i];
}else{
if( children[i].@isBranch=="true"){
var node:XML =getSelectNodeFromXML(parent_iba_id, current_iba_id, children[i]);
if( node != null ) return node;
}
}
}
return null;
}
Узел то находит, но когда пытается открыть узел в дереве myTree.expandItem(node, true); почему то не срабатывает(переменная передаётся как копия наверно). Как открыть узел(любой способ)?
Добавлено через 43 минуты
Сейчас сделал по другому и все равно находит, но не активизирует и не открывает узел:

Код:
var myXML:XML= XML(resultXmlList);
myTree.dataProvider=myXML;
var subXML:XMLList=myXML..payment.(@parent_iba_id == resultXML.parent_iba_id[0] && @current_iba_id == resultXML.current_iba_id[0]);
Alert.show("subXML= "+subXML.toXMLString(),"Сообщение");//Возвращает нужный узел
myTree.expandItem(subXML, true, false);
myTree.selectedItem = subXML;
Alert.show("selectedItem= "+myTree.selectedItem,"Сообщение");//Возвращает null