内容从XML文件中获取

时间:2014-06-30 15:00:47

标签: javascript xml xml-parsing

我有一个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

2 个答案:

答案 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
}

代替。