如何在javascript中创建xml的标签

时间:2017-11-01 13:45:56

标签: javascript xml

我有这样的数组

{
    AID : "111",
    BID: "222"
}

{
    AID : "311",
    BID: "422"
}

{
    AID : "511",
    BID: "622"
}

{
    AID : "711",
    BID: "822"
}

我需要在xml中放置

<ROOT>
    <D>AID = 111 BID: "222" />
    <D>AID = 211 BID: "322" />
    <D>AID = 411 BID: "522" />
    <D>AID = 611 BID: "722" />
</ROOT>

现在我无法从javascript创建任何xml标签,因此我正在使用这种技术。

var DTag = [];

for loop {
                var AIDVal = this.AID;
                var BIDVal = this.BID;
                var dTag = "<D AID="+AIDVal+" BID="+BIDVal+"</I>";
}

DTag.push(dTag);

通过这样做,我得到类似

的数组
[   "<D>AID = 111 BID: "222" ></D>",
    "<D>AID = 211 BID: "322" ></D>",
    "<D>AID = 411 BID: "522" ></D>",
    "<D>AID = 611 BID: "722" ></D>"]

然后我添加root标签就像 var xmlData = "<R>"+ DTag.join() +"</R>"

但我没有正确地获得xmlDaat。得到一些HTML身体。如何在javascript中创建xml的标记。 VAR var xmlContent = ( new window.DOMParser() ).parseFromString(xmlData , "text/xml");在这一行中我遇到了错误。

1 个答案:

答案 0 :(得分:1)

您可以通过连接数组并使用ROOT标记包装来构建xml:

var arr = [
{
    AID : "111",
    BID: "222"
},
{
    AID : "311",
    BID: "422"
},
{
    AID : "511",
    BID: "622"
},
{
    AID : "711",
    BID: "822"
}];

var arrRes = arr.map(function(obj){
  return "<D> AID = " + obj.AID + " BID: " + obj.BID + "</D>"
});


console.log("<ROOT>" + arrRes.join("") + "</ROOT>")