0

如果找到任何“玩家”节点,我如何遍历“名册”标签并推入数组。我如何检查,“名册”标签中没有子元素。

我尝试了以下方式,但没有工作,

var strXML = '<root><club><roster/></club>\
<club><roster>
<player code="AUQ" name="AVDALOVIC, VULE" position="Guard"/>\
<player code="AQX" name="SCHULTZE, SVEN" position="Forward"/>\
</roster></club></root>';

var p = new DOMParser();
var doc = p.parseFromString(strXML, "application/xml");   
var players=doc.getElementsByTagName("player");
var i=0,arr=[];
for(i=0;i<players.length;i++){
  arr.push({
    code:players[i].getAttribute("code"),
    name:players[i].getAttribute("name"),
    position:players[i].getAttribute("position"),
  });
}
console.log(arr);

我得到了输出,但如果找到任何空白值,输出将变为空白。

4

1 回答 1

0

你的xml有问题,文档应该有一个根元素

var strXML = '<root><club><roster/></club><club><roster><player code="AUQ" name="AVDALOVIC, VULE" position="Guard"/><player code="AQX" name="SCHULTZE, SVEN" position="Forward"/></roster></club></root>';

演示:小提琴

于 2013-05-10T03:50:41.323 回答