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 に問題があります。ドキュメントのルート要素が 1 つ必要です。

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 に答える