如何在Flex中删除保留XML中的属性的节点值

时间:2013-04-09 05:57:55

标签: xml flex

我有一个XML:

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

如何在Flex中以XML格式删除保留属性值“Fruit”“Vegetable”的节点值(“Fruits”“Vegetables”)。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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++;
            }