Добавление узла в дерево - PullRequest
       17

Добавление узла в дерево

0 голосов
/ 10 сентября 2009
[Bindable]
            private var company:XML =

              <list>
                <department title="Finance" code="200">
                    <employee name="John H"/>

                    <employee name="Sam K"/>
                </department>
                <department title="Operations" code="400">

                    <employee name="Bill C"/>
                    <employee name="Jill W"/>
                </department>                    
                <department title="Engineering" code="300">

                    <employee name="Erin M"/>
                    <employee name="Ann B"/>
                </department>                                
              </list>;

private function addEmployee():void

            {
                var newNode:XML = <employee/>;
                newNode.@name = empName.text;
                var dept:XMLList =company.department.(@title == "Operations");
                if( dept.length() > 0 ) {

                    dept[0].appendChild(newNode);
                    empName.text = "";
                }
            }

Специальный код добавляет новый узел к операциям, но я хочу добавить узел любому элементу, который я выберу.

Ответы [ 2 ]

1 голос
/ 10 сентября 2009

Добавьте поле со списком (myCombobox), чтобы пользователь мог выбрать, куда добавить пользователя (т. Е. Операции, финансы, инжиниринг). На основании выбранного отдела добавить в конкретный список:

 private function addEmployee():void
        {
            var newNode:XML = <employee/>;
            newNode.@name = empName.text;

            var dept:XMLList;

            switch(myCombobox.selectedLabel){
                 case 'Operations':
                     dept = company.department.(@title == "Operations");
                     break;

                 case 'Finance':
                     dept = company.department.(@title == "Finance");
                     break;

                 case 'Engineering':
                     dept = company.department.(@title == "Engineering");
                     break;
            }

            if( dept.length() > 0 ) {

                dept[0].appendChild(newNode);
                empName.text = "";
            }
        }
1 голос
/ 10 сентября 2009

Попробуйте использовать XMLList, а затем циклически проходить через узлы отделов, каждый раз проверяя название своего отдела.

Я немного не уверен относительно того, что именно вы хотите сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...