2012-11-23 2 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

Смежные вопросы