Здравствуйте, подскажите пожалуйста, функцию, которая получает некую строку и искала бы совпадения по всем элементам существующего XML, а потом возвращала бы массив путей(массивов) в виде индексов узлов XML дерева до элементов с совпадением %)

Код:
public function searchStringInXML(string:String):Array
{
???
}
Например, в такой XML:

Код:
var someXML:XML = <xml>
<someNode>
<node1 value1="первый узел" value2="первый подузел"/>
<node2 value1="первый узел" value2="второй подузел"/>
</someNode>
<someNode>
<node1 value1="первый узел" value2="первый подузел"/>
<node2 value1="второй узел" value2="второй подузел"/>
<node3 value1="санузел" value2="второй санузел"/>
</someNode>
</xml>
Делаем
trace(searchStringInXML("второй").toString());
Output: [0, 1], [1, 1], [1, 1], [1, 2]
Получили массив путей до узлов, в аттрибутах которых встречается слово "второй". [0, 1] - первый узел, второй подузел... и т.д.
Пробовал через вложенные 2 цикла for писать с временной xml, потом вконец запутался. Помогите, пожалуйста
