![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Есть
при клике в дереве по ее ноду сохраняем нод в переменную
теперь мы хотим удалить из MyXML - curNode.
Как к нему правильно обратится, если мы заранее не знаем глубину вложенности и количество нодов на каждом уровне? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
delete curNode;
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
а добавить нод?
не получится. Да и не удаляет он тоже так, пробовал и это не подходит для любой степени вложенности.... Пробовал через параметре в самом ноде – но это огромный костыль! if((int(curNode.@L)==0)||(int(curNode.@L)==1)||(int(curNode.@L)==-1))
{
var str:String="level"+String(n);
switch(int(n))
{
case 0:
xmlAll.appendChild(<{str} Name={name} L={String(n)} N={String(xmlAll.level0.length())}> </{str}>);
break;
case 1:
xmlAll.level0[curNode.@N].appendChild(<{str} Name={name} L={String(n)} N={String(xmlAll.level1.length())}> </{str}>);
break;
case 2:
xmlAll.level0[curNode.parent().@N].level1[curNode.@N].appendChild(<{str} Name={name} L={String(n)} N={String(xmlAll.level2.length())}> </{str}>);
break;
default :
xmlAll.appendChild(<{str} Name={name} L={String(n)}> </{str}>);
break;
}
View.dataProvider=xmlAll;
}
Последний раз редактировалось etc; 14.09.2007 в 17:51. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Изящно. Сейчас опробую....
Спасибо. |
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
Дело в том что XML многоуровневая с не одинаковым количеством нодов. И сами ноды в ней разные вот упрощенно говоря такая:
<data> <node2 N ="9"></node2> <node0> </node0> <node0> <node1> </node1> <node1> <node2 N ="1"></node2> <node1> </node0 <node0> <node2 N ="14"></node2> <node1> <node2 N ="2"></node2> <node2 N ="3"></node2> <node2 N ="4"></node2> <node2 N ="5"></node2> </node1> <node1> <node2 N ="6"></node2> <node1> </node0 </data> И проблема в основном построить код, который будет грамотно работать с любым нодом на любой глубине дерева. Тоисть имея текущий нод надо определить, где он находится в XML и выполнить с ним какие-нибуть действия. А в предыдущем скрипите мы должны обязательно знать заранее, где нод находится... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Зачем знать? curNode известен? Известен. parent() у него есть? Есть. Какие проблемы?
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
так в этом и вопрос )))
как именно? таким образом как : сделать нельзя... извини может я не вижу элементарного - но я в конец запутался... потратил на эту задачу пару часов - и все решения кривоваты.... очень хочется изящное и абстрактно е решение но явно не хватает опыта…. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
curNode.parent() += <node />;
|
|
|||||
|
Регистрация: Sep 2007
Сообщений: 36
|
curNode.parent() += <node/>;
выдает ошибку: "1105: Target of assignment must be a reference value." |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|