Xml 使用e4x语法删除特定节点

Xml 使用e4x语法删除特定节点,xml,apache-flex,flex4,Xml,Apache Flex,Flex4,我有以下XML结构: <numb> <variable> <name>john</name> <age>12</age> </variable> <variable> <name>janet</name> <age>10</age> </variable> <variable> <n

我有以下XML结构:

<numb>
  <variable>
   <name>john</name>
   <age>12</age>
 </variable>
 <variable>
   <name>janet</name>
   <age>10</age>
 </variable>
 <variable>
   <name>johanna</name>
   <age>22</age>
 </variable>
 <variable>
  <name>harry</name>
  <age>24</age>
 </variable>
</numb>
但是,我得到了这个错误:

 "Error #1119: Delete operator is not supported with operand of type XMLList"
建议使用numb.variable.(name==“johanna”)是一个XMLList..但我尝试了以下方法:

delete XML(numb.variable.(numb=="johanna"); 
但这并没有删除任何内容


有人知道我如何删除numb XML中的某个变量吗?

您可以从johanna检索具有不同名称的子节点,并使用该方法将其设置为子节点

e、 g

较长版本:

var xml:XML = <numb>
  <variable>
   <name>john</name>
   <age>12</age>
 </variable>
 <variable>
   <name>janet</name>
   <age>10</age>
 </variable>
 <variable>
   <name>johanna</name>
   <age>22</age>
 </variable>
 <variable>
  <name>harry</name>
  <age>24</age>
 </variable>
</numb>;

var matches:XMLList = xml.variable.(name == 'johanna');
for each (var match:XML in matches) delete xml.variable[match.childIndex()];
var-xml:xml=
厕所
12
珍妮特
10
乔安娜
22
骚扰
24
;
变量匹配:XMLList=xml.variable。(名称=='johanna');
对于每个(变量匹配:匹配中的XML)删除XML.variable[match.childIndex()];
返回一个xml元素的xmllist,因此要删除它,必须使用以下语法

delete numb.variable.(name=="johanna)[0] as XML;
for each (var match:XML in xml.variable.(name == 'johanna')) delete xml.variable[match.childIndex()];
var xml:XML = <numb>
  <variable>
   <name>john</name>
   <age>12</age>
 </variable>
 <variable>
   <name>janet</name>
   <age>10</age>
 </variable>
 <variable>
   <name>johanna</name>
   <age>22</age>
 </variable>
 <variable>
  <name>harry</name>
  <age>24</age>
 </variable>
</numb>;

var matches:XMLList = xml.variable.(name == 'johanna');
for each (var match:XML in matches) delete xml.variable[match.childIndex()];
numb.variable.(name=="johanna") 
delete numb.variable.(name=="johanna)[0] as XML;