如何删除XML中的属性?

时间:2014-03-25 21:45:24

标签: actionscript-3 flash e4x

如何在E4X中删除XML节点上的属性?我认为这会更容易,但我没有找到任何例子。

我试过了:

delete xml.attribute("myAttribute");

这给了我以下错误:

TypeError: Error #1119: Delete operator is not supported with operand of type XMLList.

我试过了:

xml.attribute("myAttribute") = null;

会导致编译错误。

1 个答案:

答案 0 :(得分:2)

在您的示例中,只需在结果XMLList中添加[0],以确保删除单个属性节点,它应该可以工作:

delete xml.@attributename[0];

实际上,delete XMLList var x:XML = <x><c a="1"/><c a="2"/></x>; trace("0", x.toXMLString()); delete x.c.@a; trace("1", x.toXMLString()); 适用于简单案例(没有复杂的e4x搜索结构):

[trace] 0 <x>
[trace]   <c a="1"/>
[trace]   <c a="2"/>
[trace] </x>
[trace] 1 <x>
[trace]   <c/>
[trace]   <c/>
[trace] </x>

输出:

{{1}}