Javascript JS Jquery.Find.Each可以创建单独的字符串,以便稍后创建BLOB

Javascript JS Jquery.Find.Each可以创建单独的字符串,以便稍后创建BLOB,javascript,jquery,Javascript,Jquery,我有一个XML文件的片段 <guests> <guest firstName="Donald" lastName="Duck" title="MR" age="50"> </guests> <guests> <guest firstName="Daisy" lastName="Duck" title="MRS" ageRange="52"/> </guests> <guests> <guest firstN

我有一个XML文件的片段

<guests>
<guest firstName="Donald" lastName="Duck" title="MR" age="50">
</guests>
<guests>
<guest firstName="Daisy" lastName="Duck" title="MRS" ageRange="52"/>
</guests>
<guests>
<guest firstName="Huey," lastName="Duck" title="MR" ageRange="5"/>
<guest firstName="Dewey," lastName="Duck" title="MR" ageRange="5"/>
<guest firstName="Louie" lastName="Duck" title="MR" ageRange="5"/>
</guests>
<guests>
<guest firstName="Della" lastName="Duck" title="MRS" ageRange="30"/>
<guest firstName="Dudly " lastName="Dupont" title="MRS" ageRange="25"/>
<guest firstName="Dugan" lastName="Dupont" title="MST" ageRange="4"/>
</guests>
现在,我在控制台中得到的输出是

Guests name are  MR Donald Duck,50
Guests name are  MRS Daisy Duck,52
Guests name are  MR Huey Duck,5
Guests name are  MR Dewey Duck,5
Guests name are  MR Louie Duck,5

我试图获取的是每个来宾节点中的所有来宾,即:

Guests name are  MR Donald Duck,50
Guests name are  MRS Daisy Duck,52
Guests name are  MR Huey Duck,5,Dewey Duck,5,MR Louie Duck,5
等等,但是在我自己的字符串中,我可以在以后创建Blob时引用它们 ... 差不多

    for (var stay = 0; stay < xNoOfRooms ; stay ++) { 
    DLoadFile = new Blob([CSV, (AllRmString), GSTString(stay)], { type: contentType });
}
for(var stay=0;stay
正如你(希望)看到的,我是他们的一部分。。。。。有人能帮我走完剩下的路吗

谢谢

只需在内部循环中连接一个字符串,然后在内部循环完成时显示它

只需在内部循环中连接一个字符串,然后在内部循环完成时显示它。

可以使用
map()
而不是
内部循环上的每个
来创建数组…然后在内部循环完成后加入数组

$(this).find('guests').each(function() {

  var guests = $(this).find('guest').map(function() {
    var GSTFName = $(this).attr("firstName"),
      GSTLName = $(this).attr("lastName"),
      GSTtitle = $(this).attr("title"),
      GSTAge = $(this).attr("age"),
      GSTFullName = (GSTtitle + " " + GSTFName + " " + GSTLName);

    return [GSTFullName, GSTAge].join(",");      
  }).get();

  console.log("Guests name are ", guests.join());
});
可以在内部循环上使用
map()
而不是
each
来创建数组…然后在内部循环完成后加入数组

$(this).find('guests').each(function() {

  var guests = $(this).find('guest').map(function() {
    var GSTFName = $(this).attr("firstName"),
      GSTLName = $(this).attr("lastName"),
      GSTtitle = $(this).attr("title"),
      GSTAge = $(this).attr("age"),
      GSTFullName = (GSTtitle + " " + GSTFName + " " + GSTLName);

    return [GSTFullName, GSTAge].join(",");      
  }).get();

  console.log("Guests name are ", guests.join());
});

嗨,查理,谢谢你。添加
guestsdata=guests.join()GET
之后,code>允许我将数据保存为字符串,以供以后参考。嗨,charlietfl,谢谢。添加
guestsdata=guests.join()GET
之后,code>允许我将数据保存到字符串中,以供以后参考。
$(this).find('guests').each(function() {

  var guests = $(this).find('guest').map(function() {
    var GSTFName = $(this).attr("firstName"),
      GSTLName = $(this).attr("lastName"),
      GSTtitle = $(this).attr("title"),
      GSTAge = $(this).attr("age"),
      GSTFullName = (GSTtitle + " " + GSTFName + " " + GSTLName);

    return [GSTFullName, GSTAge].join(",");      
  }).get();

  console.log("Guests name are ", guests.join());
});