2016-12-01 3 views
0

У меня есть этот XMLКак читать атрибут дочернего элемента с DomParser в JavaScript

<zone name="main"> 
     <card number="4" price="0" name="Urza's Tower"/> 
     <card number="4" price="0" name="Urza's Power Plant"/> 
     <card number="4" price="0" name="Urza's Mine"/> 
     <card number="4" price="0" name="Urza's Avenger"/> 
     <card number="1" price="0" name="Urza's Miter"/> 
     <card number="4" price="0" name="Howling Mine"/> 

И я хотел бы прочитать атрибуты имя. Я стараюсь это, но он не работает:

var cards = xmlDoc.getElementsByTagName("zone")[0].childNodes; 
     for (var i = 0; i < cards.length; i++) { 
     console.log(cards[i].getAttribute("name")); 
     } 

При просмотре cards[i] в отладчике он показывает все атрибуты. Я просто не могу получить к ним доступ ...

Спасибо!

+0

попробуйте изменить 'Var карты = ...' 'для вар карт = xmlDoc.getElementsByTagName ("карта"); '. – phoa

ответ

1

Код в вопросе используется .childNodes, так что он не получает только узлы элементов card, но также и текстовые узлы между элементами card.

Чтобы получить только card узлы элементов, использовать .children вместо этого, как это:

var cards = xmlDoc.getElementsByTagName("zone")[0].children; 
     for (var i = 0; i < cards.length; i++) { 
     console.log(cards[i].getAttribute("name")); 
     } 
Смежные вопросы