2012-11-23 21 views
0

我需要建立一個XML作爲 XML:的Javascript:構建以XML格式

<Root> 
<Item1 absord="aa"> 
    <XItem n="a" v="b"/> 
    <XItem n="a" v="b"/> 
    <XItem n="a" v="b"/> 
</Item1> 
    <Item1 absord="bb"> 
    <XItem n="a" v="b"/> 
    <XItem n="a" v="b"/> 
    <XItem n="a" v="b"/> 
    </Item1> 
</Root> 

I`ve寫了一個js函數如下:

function BuildChildXml(s, name,n) 
    { 
     var xj=OrchGenericObj.GetXMLObj("<R15></R15>"); 
     var INode1 = xj.createElement("Item1"); 
      INode1.setAttribute("Absord", n) 
     var INode = xmlnewObj.createElement("XItem"); 
     INode.setAttribute("Name", name); 
     INode.setAttribute("Urlpath",s);      
     xj.documentElement.appendChild(INode); 
     INode1.appendChild(xj) 
    } 

輸出:

<Root> 
<Item1 absord="aa"/> 
    <XItem n="a" v="b"/> 
    <Item1 absord="bb"/> 
    <XItem n="a" v="b"/> 
</Root> 

但我沒有得到所需的輸出。 請更正此功能。

+0

什麼是你有錯誤? – SaidbakR

+0

我沒有得到任何東西,但是輸出結果並不是這樣。 – user1495475

+0

你可以編輯你的問題並粘貼你有的輸出嗎? – SaidbakR

回答

0

您只創建一次XItem節點,因此您只能獲得一次。

你的代碼應該是這樣的

var xj=OrchGenericObj.GetXMLObj("<R15></R15>"); 
    var INode1 = xj.createElement("Item1"); 
     INode1.setAttribute("Absord", n) 

    var INode = xmlnewObj.createElement("XItem"); 
     INode.setAttribute("Name", name); 
     INode.setAttribute("Urlpath",s);      
    INode1.documentElement.appendChild(INode); 

    xj.appendChild(INode1); 
} 
+0

感謝您的答案。它的工作原理。 – user1495475