在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 <nodeToDelete> nodes" click="btn1_clickHandler(event);"/>
<mx:Button id="btn2" label="delete <child label='two'> node" click="btn2_clickHandler(event);"/>
</mx:ApplicationControlBar>
<mx:TextArea id="txtArea" text="{someXML.toXMLString()}" width="300" height="200"/>
</mx:Application>
上一篇: 图论之Floyd算法
下一篇: YARN常见异常
推荐阅读
-
SqlServer2005中使用row_number()在一个查询中删除重复记录的方法
-
SqlServer 2005中使用row_number()在一个查询中删除重复记录
-
我们在删除SQL Sever某个数据库表中数据的时候,希望ID重新从1开始,而不是紧跟着最后一个ID开始需要的命令
-
as3中对xml的创建、增加、删除、修改、检索等操作实例介绍
-
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
-
Winform中对自定义xml配置文件进行Xml节点的添加与删除
-
玩转ROS2系列04--在功能包中实现一个订阅节点和发布节点
-
Websphere Application Server (WAS) 中应用的哪一个 web.xml 在起作用 WebXMLWebsphere应用服务器Tomcat
-
Websphere Application Server (WAS) 中应用的哪一个 web.xml 在起作用 WebXMLWebsphere应用服务器Tomcat
-
在一个table中动态添加一行或删除一行