我需要动态地向XML中的所有节点添加一个属性。我的xml如下:
<root>
<item>
<item>Americas</item>
<item>Canada</item>
<item>Ottawa</item>
<item>Category 1</item>
<item>Product 01</item>
<item>4171.132339235787</item>
<item>4181.132339235787</item>
</item>
</root>
我需要为上面的XML中的每个节点添加名为“name”的属性:
<root>
<item name="">
<item name="Americas"/>
<item name="Canada"/>
<item name="Ottawa"/>
<item name="Category 1"/>
<item name="Product 01"/>
<item name="4171.132339235787"/>
<item name="4181.132339235787"/>
</item>
</root>
如何在Flex XML中实现这一目标?
答案 0 :(得分:1)
您需要一个名为label的属性吗?但是你的最终XML没有任何这样的属性。无论如何,您可以使用以下命令将“name”属性添加到xml的每个子元素:
<mx:Script>
<![CDATA[
private var newLoad:URLLoader;
private var link:String = "xl.xml";
private var req:URLRequest = new URLRequest(link);
loadU();//Place this call in the creation complete handler of the Application's CreationComplete Event
private function load(e:Event):void
{
var xm:XML = XML(e.target.data);
for each(var node:XML in xm.item.item)
{
node.@name = node;
}
var file:FileReference = new FileReference();
file.save(xm,"x1.xml");//Save the output file
}
private function loadU():void
{
newLoad = new URLLoader();
newLoad.addEventListener(Event.COMPLETE,load);
newLoad.load(req);
}
]]>
</mx:Script>
如果这是你想要的,请告诉我。