Показать сообщение отдельно
Старый 27.12.2010, 23:51
MetSerp вне форума Посмотреть профиль Отправить личное сообщение для MetSerp Найти все сообщения от MetSerp
  № 1  
Ответить с цитированием
MetSerp
 
Аватар для MetSerp

Регистрация: Sep 2010
Адрес: Москва
Сообщений: 24
Question Удалить XML узел не зная его индекс, но зная значение одного из его атрибутов

Здравствуйте.
Появилась задача:
есть объект XML
Код AS3:
		var outPutXML:XML = new XML(
		<root>
		<pathGrid>
		</pathGrid>
		<boards>
		</boards>
		<image path=""/>
		</root>
		);
Заполняется он динамически.
Код AS1/AS2:
		function addPathPoint (e:MouseEvent):void {
			var point:CasaMovieClip = new CasaMovieClip();
			outPutXML.pathGrid.appendChild (<pointGrid id={Main.pointsCounter} x={new int(pathGridPano.mouseX)} y={new int(pathGridPano.mouseY)} />);
			point.addEventListener (MouseEvent.MOUSE_DOWN,movePoint);
			point.addEventListener (MouseEvent.MOUSE_UP,editGridPoint);
 
			point.graphics.beginFill (0xff0000);
			point.graphics.drawCircle (0,0,5);
			point.graphics.endFill ();
 
			point.x = pathGridPano.mouseX;
			point.y = pathGridPano.mouseY;
			point.name = new String(Main.pointsCounter);
			pathGridPano.addChildAt (point,0);
			Main.pointsCounter++;
		}
в итоге получается что то типа такого:
Код:
<pathGrid>
  <pointGrid id="0" x="262" y="169"/>
  <pointGrid id="1" x="304" y="171"/>
  <pointGrid id="2" x="379" y="159"/>
  <pointGrid id="3" x="294" y="107"/>
</pathGrid>
Вопрос как мне удалить или изменить определенный узел, если я не могу знать его индекс.
Если точнее, у меня есть метод который должен этим заниматься, даже 2.
Код AS3:
		function movePoint (e:MouseEvent) {
			if (e.ctrlKey) {
                                /*
                                   код удаляющий узел из объекта outPutXML - с ним как раз проблема
                                */
				e.target.destroy ();
			} else {
				e.target.startDrag ();
 
			}
		}
		function editGridPoint (e:MouseEvent) {
 
			e.target.stopDrag ();
                        /*
                           код изменяющий атрибуты x и y у редактируемого узла - с ним тоже проблемы
                        */
 
 
		}
при этом id атрибут узла который подвергается изменению/удалению - всегда равен e.target.name.