0

次のような XML があります。

<root>
 <item>
  <item name="Fruit">Fruits</item>
  <item name="Vegetable">Vegetables</item>
 </item>
</root>

FlexでXMLの属性値「Fruit」「Vegetable」を保持しているノード値(「Fruits」「Vegetables」)のみを削除する方法。

4

2 に答える 2

1

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>
于 2013-04-09T07:48:22.350 に答える
0

アイテムを反復する必要があると思います。

すべてのアイテムの値を削除する場合は、次のようにします。

            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++;
            }
于 2013-04-09T07:47:36.630 に答える