在jquery中解析xml并将xml元素存储在数组中

时间:2014-04-17 12:33:40

标签: javascript jquery html5

我有以下xml结构:

 //xml
<ArrayofTech>
 <TechJobs>a</TechJobs>
 <TechJobs>b</TechJobs>
</ArrayofTech>

我想在数组中存储上面的TechJobs节点xml,如:Array.push(Techjobs)。我必须将每个TechJobs节点存储到一个数组中。如何解析这个xml。我试过的代码如下所示:

$(xml).find("TechJobs").each(function () {
array.push($(this));
}

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

使用.get().map一起转换数据,应该返回数组:

var array = $(xml).find("TechJobs").map(function() {
    return $(this).text();
}).get();

如果您需要XML,只需使用.get并省略映射:

var array = $(xml).find("TechJobs").get();

jsFiddle

答案 1 :(得分:1)

尝试使用 .outerHTML 之类的,

var xml = "<ArrayofTech> <TechJobs>a</TechJobs> <TechJobs>b</TechJobs></ArrayofTech>";
var array = $(xml).find("TechJobs").map(function() {
    return this.outerHTML; // to get the techjob
}).get();
console.log(array);

Demo

答案 2 :(得分:0)

您可以在此处使用 .map()

var arr = $(xml).find("TechJobs").map(function() {
    return $(this).html();
}).get();

<强> Fiddle Demo