如何在 JavaScript 中使用 DOMParser 读取子元素的属性
How to read attribute of child element with DOMParser in JavaScript
我有这个xml
<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]
时,它显示了所有属性。我似乎无法访问它们...
谢谢!
问题中的代码使用了 .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"));
}
我有这个xml
<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]
时,它显示了所有属性。我似乎无法访问它们...
谢谢!
问题中的代码使用了 .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"));
}