0

我需要为 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 中实现?

4

1 回答 1

1

您需要一个名为标签的属性吗?但是您的最终 XML 没有任何此类属性。无论如何,您可以使用以下内容将“名称”属性添加到 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>

让我知道这是否是你想要的。

于 2013-04-08T08:56:42.210 回答