2013-04-09 44 views
0

我无法将属性添加到子节点怎么样,你做了隆重的孩子this.I曾使用nodes.How做要为所有子节点根标签后XML的Flex添加属性值

for each(var node:XML in valueXml.item) 
{   
    for(var j:int=0; j<valueXml.length(); j++) 
    { 
    [email protected] = valueXml.item[j].item[0][email protected]; 
    } 
} 

从旧的xml:

<item> 
    <item name="Subchild1"/> 
    <item name="leaf1"/> 
    <item name="leaf2"/> 
</item> 
<item> 
    <item name="Subchild2"/> 
    <item name="leaf3"/> 
    <item name="leaf4"/> 
</item> 

我需要把它加入如下:

<root> 
    <item name="Subchild1"> 
    <item name="Subchild1"/> 
    <item name="leaf1"/> 
    <item name="leaf2"/> 
    </item> 
<item name="Subchild2"> 
    <item name="Subchild2"/> 
    <item name="leaf3"/> 
    <item name="leaf4"/> 
</item> 

我想将每个子节点(“Subchild2”)的第一个子子节点([Subchild2,leaf3,leaf4])添加为该子节点的属性名称。如何实现此目的?

回答

0

试试这个:

//你的XML

 private var xml:XML = new XML(
      <root> 
       <item> 
        <item name="Subchild1"/> 
        <item name="leaf1"/> 
        <item name="leaf2"/> 
       </item> 
       <item> 
        <item name="Subchild2"/> 
        <item name="leaf3"/> 
        <item name="leaf4"/> 
       </item> 
      </root> 
     ); 

//功能

for each (var node:XML in xml.item) 
    { 
     var attrName:String = node.item[0][email protected]; 
     [email protected] = attrName; 
    } 

//跟踪得出:

<root> 
    <item name="Subchild1"> 
    <item name="Subchild1"/> 
    <item name="leaf1"/> 
    <item name="leaf2"/> 
    </item> 
    <item name="Subchild2"> 
    <item name="Subchild2"/> 
    <item name="leaf3"/> 
    <item name="leaf4"/> 
    </item> 
</root> 
1

一旦你在你想添加属性的节点,你可以ñ简单地分配它的firstchild的名字的价值。

var xml:XML = new XML(<root> 
    <item> 
    <item name="Subchild1"/> 
    <item name="leaf1"/> 
    <item name="leaf2"/> 
    </item> 
    <item> 
    <item name="Subchild2"/> 
    <item name="leaf3"/> 
    <item name="leaf4"/> 
    </item> 
</root>); 


for each (var item:XML in xml.item) { 
    [email protected] = item.children()[0][email protected]; 
} 
相关问题