如何在JavaScript

如何在JavaScript

问题描述:

用的DOMParser读子元素的属性,我有这样的XML如何在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卡= ...''到VAR卡= xmlDoc.getElementsByTagName( “一卡通”); '。 – phoa

问题中的代码使用.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")); 
     }