次のような XML があります。
<root>
<item>
<item name="Fruit">Fruits</item>
<item name="Vegetable">Vegetables</item>
</item>
</root>
FlexでXMLの属性値「Fruit」「Vegetable」を保持しているノード値(「Fruits」「Vegetables」)のみを削除する方法。
次のような XML があります。
<root>
<item>
<item name="Fruit">Fruits</item>
<item name="Vegetable">Vegetables</item>
</item>
</root>
FlexでXMLの属性値「Fruit」「Vegetable」を保持しているノード値(「Fruits」「Vegetables」)のみを削除する方法。
XML ノードの子孫を削除します。
delete item.descendants()[0];
例として:
var xml:XML =
<root>
<item>
<item name="Fruit">Fruits</item>
<item name="Vegetable">Vegetables</item>
</item>
</root>;
for each (var item:XML in xml.item.item)
{
delete item.descendants()[0];
}
trace(xml);
...生成されます:
<root>
<item>
<item name="Fruit"/>
<item name="Vegetable"/>
</item>
</root>
アイテムを反復する必要があると思います。
すべてのアイテムの値を削除する場合は、次のようにします。
var i:int = 0;
for each (var node:XML in xml.item.item)
{
xml.item.item[i] = "";
i++;
}
条件を指定できます。
var i:int = 0;
for each (var node:XML in xml.item.item)
{
if (node.@name == 'Fruit')
xml.item.item[i] = "";
i++;
}