javascript/jquery中从xml数据填充对象的最佳方法

javascript/jquery中从xml数据填充对象的最佳方法,javascript,jquery,xml,Javascript,Jquery,Xml,我是js的初学者。我正在从服务器中提取一个xml(没有可用的json),并希望在网页上显示它。我得到了请求,并且我设法访问了xml树中的数据。两者都使用jquery。这些是国会的数据,议员的数据。我想制作一组Congressman对象,并用xml中的数据填充它们。它们是这样的: 在xml中: <congressman> <name> jhon </name> . . a lot of data .<id>1234</id>

我是js的初学者。我正在从服务器中提取一个xml(没有可用的json),并希望在网页上显示它。我得到了请求,并且我设法访问了xml树中的数据。两者都使用jquery。这些是国会的数据,议员的数据。我想制作一组Congressman对象,并用xml中的数据填充它们。它们是这样的:

在xml中:

<congressman>
  <name> jhon </name>
  .
  . a lot of data
  .<id>1234</id>
</congressman>
并将节点作为构建新国会议员的参数传递? 或者我需要在每个议员返回的数据中逐一循环? 比如:


您可以在jQuery中使用
每个
[1]来迭代所选元素

比如说

var congressmanArray = []; // for stored congressman data

$(root).find('congressman').each(function(){

   // collected data
   var cman = {};
   cman.id = $(this).find('id').text();    
   cman.name = $(this).find('name').text();  
   // ....
   congressmanArray.push(cman);

});
最后,您将获得JSON格式的国会议员数据

因此,如果您的数据只有一个级别的子级,那么

var congressmanArray = []; // for stored congressman data

$(root).find('congressman').each(function(){

   // collected data
   var cman = {};
   $(this).find('>*').each(function(){
       var tagName = $(this).prop('tagName');
       cman[tagName] = $(this).text();
   });
   congressmanArray.push(cman);

});
希望这有帮助

[1]

var congressmanArray = []; // for stored congressman data

$(root).find('congressman').each(function(){

   // collected data
   var cman = {};
   cman.id = $(this).find('id').text();    
   cman.name = $(this).find('name').text();  
   // ....
   congressmanArray.push(cman);

});
var congressmanArray = []; // for stored congressman data

$(root).find('congressman').each(function(){

   // collected data
   var cman = {};
   $(this).find('>*').each(function(){
       var tagName = $(this).prop('tagName');
       cman[tagName] = $(this).text();
   });
   congressmanArray.push(cman);

});