我有一个xml内容如下
<tty>
<xyz id="1">
<yzx>ghs</yzx>
<dfg>kli</dfg>
</xyz>
<xyz id="2">
<yzx>sss</yzx>
<dfg>ddd</dfg>
</xyz>
</tty>
我还需要获取xyz的内容,当我尝试这样做时,我会面临一个错误说明
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "file.xml",false);
xmlHttp.send();
xmlDoc = xmlHttp.responseXML;
var wee= xmlDoc.getElementsByTagName("xyz");
for(var i=0; i<wee.length;i++){
var name = wee[i].childNodes[0].nodeValue;
var yzx = wee[i].childNodes[1].nodeValue;
var dfg= wee[i].childNodes[2].nodeValue;
错误是
Cannot read property childnode
我的输出应该如下所示
name 1
yzx ghs
答案 0 :(得分:1)
您正在使用getElementsByTagName两次:)
答案 1 :(得分:1)
wee
已经是所有<xyz>
代码,其下方不再有<xyz>
个代码。这意味着for循环中的getElementsBbyTagName('xyz')
将不返回任何内容。
你可能只想要
for(var i = 0; i < wee.length; i++) {
var name = wee[i].childNodes[0].nodeValue; // "yzx" node
}
代替。