Есть кое-что, что я не мог решить: когда я ищу определенный узел в списке XMLL, содержащем несколько уровней иерархии, фильтр никогда не ищет в верхнем родительском узле.
Например, если у меня есть деревокак это:
<node id="a0KQ0000002PTN5MAO" parentId="">
<node id="a0KQ0000002PT8iMAG" parentId="a0KQ0000002PTN5MAO" />
</node>
и если я сделаю такой поиск:
var aNode = ac_hierarchy.source..node.(@id == "a0KQ0000002PTN5MAO")[0];
Я не получу никаких результатов, "aNode" будет нулевым: /
Любая идея?
[ПРАВИТЬ] Есть кое-что еще, что я не могу понять (и я ищу в течение 2 дней: /):
Я рекурсивно добавляю узлы в ac_hierarchy, используя методниже:
private function add_item_to_hierarchy(node:Node_vo):XML {
var firstNode:XML = ac_hierarchy.getItemAt(0) as XML;
var parentNode:XML;
if (firstNode.@[Node_vo.att_id] == node.parentId)
parentNode = firstNode;
else
parentNode = ac_hierarchy.source..node.(@[Node_vo.att_id] == node.parentId)[0];
var test:XML = ac_hierarchy.source..node.(@[Node_vo.att_id] == node.parentId)[0];
var test2:XML = ac_hierarchy.source..node.(@[Node_vo.att_id] == "a0KQ0000002PT8iMAG")[0];
newXmlNode = node.toXML();
// Add the current node to his parent node
parentNode.appendChild(newXmlNode);
}
Когда я впервые вызываю параметр "add_item_to_hierarchy" с параметром "node.parentId", равным методу "a0KQ0000002PTN5MAO", переменная ac_hierarchy выглядит следующим образом:
<node id="a0KQ0000002PTN5MAO" parentId="" />
var test:XML заполнен.
var test2: XML не заполнен.
Это правильно appendChild.
Во второй раз параметры "node.parentId" равны "a0KQ0000002PT8iMAG", и ac_hierarchy выглядит следующим образом:
<node id="a0KQ0000002PTN5MAO" parentId="">
<node id="a0KQ0000002PT8iMAG" parentId="a0KQ0000002PTN5MAO"/>
</node>
var test: XML isзаполнено.
var test2: XML заполнен.
Это также правильно appendChild.
И в третий раз параметры "node.parentId" снова равны "a0KQ0000002PT8iMAG", и ac_hierarchy выглядит так:
<node id="a0KQ0000002PTN5MAO" parentId="">
<node id="a0KQ0000002PT8iMAG" parentId="a0KQ0000002PTN5MAO">
<node id="a0KQ0000002PTL9MAO"/>
</node>
</node>
var test: XML НЕ заполнен.
var test2: XML заполнен.
Но на этот раз переменная "test" равна нулю (хотя значение "node.parentId" совпадает с предыдущим циклом, а test2 заполнен правильно) !!!
Я скоро сломаю свой компьютер: /
Спасибо за вашу помощь.