Как мне разобрать XML с дубликатами узлов? - PullRequest
0 голосов
/ 19 сентября 2018

Вот мой 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

1 Ответ

0 голосов
/ 19 сентября 2018

find('author') вернет вам объект jQuery, который содержит коллекцию узлов.Таким образом, вы можете просто зациклить их, используя 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...