解析XML并在变量中保存标记实例

时间:2013-06-28 10:40:46

标签: javascript jquery xml

我有变量response,持有XML字符串

<tag>
  <innerTag>
    <ex0>1000</ex0>
    <ex1>2000</ex1>
    <ex2>3000</ex2>
  </innterTag>
  <innerTag>
    <ex0>4000</ex0>
    <ex1>7000</ex1>
    <ex2>2500</ex2>
  </innterTag>
</tag>

我想解析字符串并将每个标记值添加到可用于进一步处理数据的变量中。 我正在使用jQuery,到目前为止我已经

[...]

var response = request.responseXML.documentElement;
$.get(response, {}, function(xml){
  $('innerTag', xml).each(function(){
    ex0 = $(this).find("ex0").text();
    ex1 = $(this).find("ex1").text()
    ex2 = $(this).find("ex2").text()    
  })
})

[...]

最明显的问题是我有多个“innerTag”。如何将每个值分配给变量?
问题是,我需要将所有ex0,ex1和ex2传递给另一个函数,因此将变量命名为inner0_ex0,inner1_ex0为不同的ex0值是明智的,等等。

1 个答案:

答案 0 :(得分:0)

一种可能性是将结果存储到这样的数组中:

$.get(response, {}, function(xml){
  var ex0 = [];
  var ex1 = [];
  var ex2 = [];
  $('innerTag', xml).each(function(){
    ex0.push($(this).find("ex0").text());
    ex1.push($(this).find("ex1").text());
    ex2.push($(this).find("ex2").text());
  });
  /* Access them here as ex0[0] or ex0[1], etc. */
})