2012-05-16 31 views
3

如何使用jQuery读取和签署XML数据(不同大小的数组)?从XML中读取Ajax中未知大小的数组

AJAX从XML读取线节点并存储在javascript数组中,在XML数组中大小不是恒定的。

我的代码:

$(document).ready(function(){ 
    $.ajax({ 
     type: "GET", 
     url: "sites.xml", 
     dataType: "xml", 
     success: function(xml) { 
      $(xml).find('msg').each(function() { 
       var title = $(this).find('title').text(); 
       i = 0; 
       tic = new Array(); 
       $(this).find('desc').each(function() { 
        tic.push($(this).find('line').text()); 
        alert(tic[i]); 
        i++; 
       }); 
      }); 
     } 
    }); 
}); 

和XML文件(演示)

<msgs> 
    <msg> 
     <title>ABC</title> 
     <desc> 
      <line>test 1</line> 
      <line>test 2</line> 
      <line>test 2</line> 
     </desc> 
     <time>5</time> 
    </msg> 
</msgs> 

有人可以帮我请

+0

您可以添加更多关于如何签名的信息吗?也许预期输出的一个例子 – ManseUK

回答

0

要在所有line元素读入一个数组的变化

tic.push($(this).find('line').text()); 

$(this).find('line').each(function() { 
    tic.push($(this).text()); 
}) 

这将处理每个line元素,并将其添加到您的数组,然后把你的数组初始化顶部var tic = []; ...所以取得圆满成功函数应该是这样的:

var tic = []; 
$(xml).find('msg').each(function() { 
    var title = $(this).find('title').text(); 
    $(this).find('line').each(function() { 
     tic.push($(this).text()); 
    }); 
});​ 

Working example here

+0

$ MAnseUK我有dataType:“脚本”,我如何从这个文件读取值,脚本文件包含数组 – anam