2013-05-10 90 views
0

如何查找'roster'標記並將其推入數組(如果找到'player'節點)。 我如何檢查,'名冊'標籤中沒有子元素。檢查javascript中的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>'; 

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); 

我得到的輸出,但輸出來了空白,如果發現任何空值。

+0

你似乎會問兩個不同的問題。你能否在這個問題中提供一個XML例子,說明你的「名冊中沒有子元素」標籤是什麼意思?「你的問題不清楚。 – 2013-05-10 03:47:06

+0

第二包含元素,但不是在第一 – vishnu 2013-05-10 03:48:44

+0

需要推動所有玩家在屬性數組 – vishnu 2013-05-10 03:49:48

回答

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>'; 

演示:Fiddle

+0

對不起,我忘了把 – vishnu 2013-05-10 03:52:27

+0

@vishnu如果你有根元素則數組是有兩個值,你可以請參閱小提琴 – 2013-05-10 03:53:44

+0

謝謝你,但我如何將空白值推入數組 – vishnu 2013-05-10 03:57:53