Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
vision 01.01.2006 12:17
Уже три дня мучаюсьникак то что надо не выходит.<data> <level1 id="level1"> <level2 id="level2" parent="level1"/> <level2 id="level2" parent="level1"> <level3 id="level3" parent="level2"> <level4 id="level4" parent="level3"/> </level3> <level3 id="level3" parent="level2"/> </level2> </level1> </data>Вот что смог придумать, сам понимаю что чушь но как сделать правильнее не пойму:
@xml[] $xml_file[^xdoc::load[/data.xml]] ^get_tree[^xml_file.selectSingle[data]] @get_tree[tree] $tree_list[$tree.childNodes] ^for[i](0;$tree_list-1){ $tree_node[$tree_list.$i] ^if($tree_node.nodeType==1){+ $tree_node.nodeName / $tree_node.nodeType<br />} ^if(^tree_node.hasChildNodes[]){^get_child[$tree_node]} } @get_child[node] $node_list[$node.childNodes] ^for[a](0;$node_list-1){ $this_node[$node_list.$a] ^if($this_node.nodeType==1){++ $this_node.nodeName / $this_node.nodeType<br> } ^if(^this_node.hasChildNodes[]){+^get_child[$this_node]} }В результате получаем: