![]() |
|
||||||||||
|
|
|
|||||
|
Узел можно создать так:
w = new XML();
newP = w.createElement('P');
w.appendChild(newP);
newP = w.createElement('P');
w.firstChild.appendChild(newP);
например childNodes[] ссылается на узлы в пределах одного уровня, а как сослаться на уровень используя индексируемые переменные никак не могу понять..
__________________
Пора бы мне уже умнеть.. |
|
|||||
|
Цитата:
<ROOT> <NODE> <NODE> <NODE/> </NODE> </NODE> </ROOT> делай так |
|
|||||
|
__________________
Пора бы мне уже умнеть.. |
|
|||||
|
а как попасть на предыдущий уровень..?
__________________
Пора бы мне уже умнеть.. |
|
|||||
|
сам отвечу
xml.parentNode; вообще, мне не понятно зачем сначала нужно прировнять какой-то хмл к нашему(т.е xml к xm в данном случае) и затем работать с ним, а в остальном кажется догнал..
__________________
Пора бы мне уже умнеть.. |
|
|||||
|
Цитата:
Вообще есть класс XMLNode. Он содержит массив childNodes свойства lastChild, firstChild, nextSibling и пр. Свойство XMLNode.firstChild - содержит ссылку на другой XMLNode и так далее. Т.е. ноды вложены друг в друга. Мождно записать консрукцию xmlNode1= xmlNode2.firstChild.lastChild.childNodes[3] - и тоже получим ссылку на XMLNode. Таким образом мы перемещаемся по так называемому "XML дереву" и рассматриваем все его элементы относительно новой "точки". Имеем другие относительные пути ко всем нодам. Таким образом, записывая конструкцию В своём примере, я ввёл переменную xml для перемещения по дереву, этот метод является одной из самых сильных сторон XML. "XML" - наследует XMLNode. Это тот же XMLNode, только без поля attributes и некоторых других фич типа parentNode, т.е. несколько модифицированный. Он имеет методы парсинга, загрузки и прочие полезности, благодаря чему мы можем инициировать новые ноды. doc = new XML("<ROOT />"); //создали новый XML
xml = doc.firstChild
// записали в переменную xml ссылку doc.firstChild
i=0;
while(i<5){
node = doc.createElement('P');
//создали новый нод, в doc. никакими doc.firstChild или
//doc.node к нему доступ не получим, только по ссылке this.node
xml.appendChild(node);
//теперь мы воткнули node в "дерево" и можем
//обратиться к нему через поле xml.firstChild
xml = xml.firstChild;
//что мы и сделали, одновременно переписав ссылку xml
i += 1
}
Цитата:
Последний раз редактировалось miramax; 11.09.2006 в 05:58. |
|
|||||
|
как можно посмотреть флэшевскую длинную хмл строчку в виде дерева?
__________________
Пора бы мне уже умнеть.. |
|
|||||
|
спасибо за подробный ответ
![]() ну trace(xm); в результате появляется что-то такое <1*0><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></1*0><0*1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></0*1><-1*0><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></-1*0><0*-1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></0*-1><1*-1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></1*-1><-1*1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></-1*1> трудно понять что там к чему, приходится копировать в блокнот и превращать в "дерево" утро: -Ура я написал алгоритм бесконечного ветвления ![]()
__________________
Пора бы мне уже умнеть.. Последний раз редактировалось Ноябрь; 11.09.2006 в 06:46. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:15. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|