如何解析具有重复节点的 XML?

How do I parse XML with duplicate nodes?

提问人:MrRobot9 提问时间:9/19/2018 最后编辑:Rory McCrossanMrRobot9 更新时间:9/20/2018 访问量:37

问:

这是我的XML文件。其中有三个节点:author

<bookstore>    
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>
  </book>    
</bookstore>

当我使用 时,将所有作者保存在一个字符串中。我想把它作为一个数组。有什么办法可以做到吗?var author = $(this).find('author');author

var author = $(this).find('author').toArray();

返回长度为 0 的数组

jQuery XML 解析

评论


答:

1赞 Rory McCrossan 9/20/2018 #1

将返回一个包含节点集合的 jQuery 对象。因此,您可以使用以下方法循环使用它们:find('author')each()

var authors = $(this).find('author');
authors.each(function() {
  console.log($(this).text());
});

如果你特别想要一个包含所有值的数组,那么你可以使用:map()

var authors = $(this).find('author').map(function() {
  return $(this).text();
}).get();