2013-04-09 42 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]; 
} 
相關問題