欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在AS3中删除一个XML节点

程序员文章站 2022-04-30 09:14:22
...

如果我们在AS3中声明了一个XML片段,并且想在运行时删除其中的一个或多个节点,该怎么做呢?答案是,使用Delete关键字。

比如有如下的XML片段:

<mx:XML id="someXML">  
        <root>  
            <child label="one"/>  
            <child label="two"/>  
            <child label="three"/>  
            <nodeToDelete label="four"/>  
            <child label="five"/>  
            <nodeToDelete label="six">  
                <child label="seven"/>  
                <child label="eight"/>  
            </nodeToDelete>  
            <child label="nine"/>  
        </root>  
    </mx:XML>  

 

如果我要删除其中的nodeToDelete这个节点,那么我就可以这样写:delete someXML.nodeToDelete。同样注意,使用Delete不止可以删除一个节点,也可以删除一组节点(这些节点应该包含在一个XMLList对象里面),比如我要删除所有的label是“two”的节点,可以这样写:delete someXML.child.(@label=='two')[0]。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application name="XML_delete_test" xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white">
	<mx:Script>
		<![CDATA[
			protected function btn1_clickHandler(evt:MouseEvent):void
			{
				delete someXML.nodeToDelete;
				txtArea.text=someXML.toXMLString();
			}

			protected function btn2_clickHandler(evt:MouseEvent):void
			{
				delete someXML.child.(@label == 'two')[0];
				txtArea.text=someXML.toXMLString();
			}
		]]>
	</mx:Script>
	<mx:XML id="someXML">
		<root>
			<child label="one"/>
			<child label="two"/>
			<child label="three"/>
			<nodeToDelete label="four"/>
			<child label="five"/>
			<nodeToDelete label="six">
				<child label="seven"/>
				<child label="eight"/>
			</nodeToDelete>
			<child label="nine"/>
		</root>
	</mx:XML>
	<mx:ApplicationControlBar dock="true">
		<mx:Button id="btn1" label="delete &lt;nodeToDelete&gt; nodes" click="btn1_clickHandler(event);"/>
		<mx:Button id="btn2" label="delete &lt;child label='two'&gt; node" click="btn2_clickHandler(event);"/>
	</mx:ApplicationControlBar>
	<mx:TextArea id="txtArea" text="{someXML.toXMLString()}" width="300" height="200"/>
</mx:Application>

 

相关标签: XML Adobe