我有一個看起來像這樣如何獲得孩子的subchild在一個xml在JavaScript
<?xml version="1.0" encoding="utf-8"?>
<crossword1>
<clues>
<clue>
Man's best friend
</clue>
<answer>
dog
</answer>
<clue>
Likes to chase mice
</clue>
<answer>
cat
</answer>
<clue>
Flying mammal
</clue>
<answer>
bat
</answer>
<clue>
Has a trump
</clue>
<answer>
elephant
</answer>
<clue>
Large marsupial
</clue>
<answer>
kangaroo
</answer>
</clues>
<puzzle>
<acrossClues>
<clue>Large marsupial</clue>
<answer>kangaroo</answer>
<x>0</x>
<y>5</y>
<clue>Likes to chase mice</clue>
<answer>cat</answer>
<x>2</x>
<y>7</y>
</acrossClues>
<downClues>
<clue>Has a trump</clue>
<answer>elephant</answer>
<x>4</x>
<y>0</y>
<clue>Flying mammal</clue>
<answer>bat</answer>
<x>1</x>
<y>4</y>
<clue>Man's best friend</clue>
<answer>dog</answer>
<x>7</x>
<y>4</y>
</downClues>
</puzzle>
<width>80</width>
<height>80</height>
<preview>0</preview>
</crossword1>
我想只有acrossClues標籤的線索的XML(這樣的線索acrossClues的兒童)。 到現在爲止,我有這樣的:
var clues=new Array();
var xml=loadXMLDoc("data/rebus1.xml");
var x=xml.getElementsByTagName("acrossClues")[0].childNodes;
for (i=0;i<x.length;i++)
{
clues.push(x[i].childNodes.item(0));
}
alert(clues[0]);
的問題是,警報(線索[0])給了我零.... 這是爲什麼? 謝謝。
'clues'是空的,因爲your're嘗試添加選擇'x'節點的子節點沒有了。跳過'.childNodes.item(0)'會更有意義,但它仍然沒有考慮到文本節點 - 但在答案部分已經有了一個解決方案。 – guessimtoolate