使用Javascript Display.childNodes进行XML解析

使用Javascript Display.childNodes进行XML解析,javascript,xml,Javascript,Xml,使用Javascript解析XMLDisplay.childNodes 我正在学习XML&Javascript,但在显示XML文件中的.childNodes和.nodeValue时遇到问题 在w3schools.com和Google中搜索失败:( 我不明白为什么不显示数据 欢迎任何帮助 提前感谢您的支持 代码XML: <Team id="Burnley"> <Team_Name>Burnley</Team_Name> <descri

使用Javascript解析XMLDisplay.childNodes

我正在学习XML&Javascript,但在显示XML文件中的.childNodes和.nodeValue时遇到问题

  • 在w3schools.com和Google中搜索失败:(
  • 我不明白为什么不显示数据
欢迎任何帮助

提前感谢您的支持

代码XML:

   <Team id="Burnley">
   <Team_Name>Burnley</Team_Name>
   <description>fundado en 1882. PremierLeague 2013/14</description>
   <City>Londres </City>
   <Stadium>Burnley </Stadium>
   <Players>
      <person>
      <first_name>Daniel Johnson</first_name>
      <Country_birth>Inglaterra</Country_birth>
      <Position>MD</Position>
      </person>

      <person>
      <first_name>Charles N'Zogbia</first_name>
      <Country_birth>Francia</Country_birth>
      <Position>MD</Position>
      </person>
     </Players>

   <image>
   <src>images/xmleague/burnley.png</src>
   <title>FC Burnley</title>
   </image>
</Team>

伯恩利
芬达多en 1882。2013/14赛季英超联赛
朗德雷斯
伯恩利
丹尼尔·约翰逊
英格兰
医学博士
查尔斯·恩佐比亚
弗朗西娅
医学博士
images/xmleague/burnley.png
伯恩利足球俱乐部
代码是Javascript

<script>
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","xmleague.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 
x=xmlDoc.getElementsByTagName("Team");

function displayXMLeague(i)
{
Team_Name=(x[i].getElementsByTagName("Team_Name")[0].childNodes[0].nodeValue);
description=(x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue);
City=(x[i].getElementsByTagName("City")[0].childNodes[0].nodeValue);
Stadium=(x[i].getElementsByTagName("Stadium")[0].childNodes[0].nodeValue);
Players=(x[i].getElementsByTagName("Players")[0].childNodes[0].nodeValue);
image=(x[i].getElementsByTagName("image")[0].childNodes[0].nodeValue);
txt="Team_Name: "+Team_Name+"<br>description: "+description+"<br>City: "+City+"<br>Stadium: "+Stadium+"<br>Players: "+Players+"<br>image: "+image  ;
document.getElementById("showXMLeague").innerHTML=txt;
}
</script>

if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“GET”,“xmleague.xml”,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
x=xmlDoc.getElementsByTagName(“团队”);
函数显示xmleague(i)
{
团队名称=(x[i].getElementsByTagName(“团队名称”)[0].childNodes[0].nodeValue);
description=(x[i].getElementsByTagName(“description”)[0].childNodes[0].nodeValue);
City=(x[i].getElementsByTagName(“城市”)[0].childNodes[0].nodeValue);
Stadium=(x[i].getElementsByTagName(“Stadium”)[0].childNodes[0].nodeValue);
Players=(x[i].getElementsByTagName(“Players”)[0].childNodes[0].nodeValue);
image=(x[i].getElementsByTagName(“image”)[0].childNodes[0].nodeValue);
txt=“团队名称:”+团队名称+”
描述:“+description+”
城市:“+City+”
体育场:“+Stadium+”
球员:“+Players+”
图像:”+image; document.getElementById(“showXMLeague”).innerHTML=txt; }
阿内克索:


提前感谢IE中对我的支持:无法获取未定义或空引用的属性'getElementsByTagName'在下面的示例中,我只是在底部添加了一个调用:“displayXMLeague(0);”


if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
open(“GET”,“xmleague.xml”,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName(“团队”);
函数显示xmleague(i){
var-leaguelement=x[i];
团队名称=(leagueElement.getElementsByTagName(“团队名称”)[0].childNodes[0].nodeValue);
description=(leagueElement.getElementsByTagName(“description”)[0].childNodes[0].nodeValue);
城市=(leagueElement.getElementsByTagName(“城市”)[0].childNodes[0].nodeValue);
体育场=(leagueElement.getElementsByTagName(“体育场”)[0].childNodes[0].nodeValue);
var players=leaguelement.getElementsByTagName(“名字”);
var播放器;
var-playerString;
对于(var指数=0;指数”+player.childNodes[0].nodeValue);
}
}
玩家=玩家字符串;
image=(leagueElement.getElementsByTagName(“image”)[0]。childNodes[1]。childNodes[0]。nodeValue);
txt=“团队名称:”+团队名称+”
描述:“+description+”
城市:“+City+”
体育场:“+Stadium+”
球员:“+Players+”
图像:”+image; document.getElementById(“showXMLeague”).innerHTML=txt; } 显示xmleague(0);
您的输出:

团队名称:伯恩利
描述:fundado en 1882。2013/14英超联赛
城市:隆德雷斯
体育场:伯恩利
球员:丹尼尔·约翰逊
查尔斯·恩佐格比亚

image:images/xmleague/burnley.png

非常感谢,jmcclure在您的支持下我学到了很多……我将学习代码……欢迎您!Gracias desde Colombia!:)
        <div id="showXMLeague" />
        <script type="text/javascript">
            if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            }
            else {// code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.open("GET", "xmleague.xml", false);
            xmlhttp.send();
            xmlDoc = xmlhttp.responseXML;
            var x = xmlDoc.getElementsByTagName("Team");

            function displayXMLeague(i) {
                var leagueElement = x[i];
                Team_Name = (leagueElement.getElementsByTagName("Team_Name")[0].childNodes[0].nodeValue);
                description = (leagueElement.getElementsByTagName("description")[0].childNodes[0].nodeValue);
                City = (leagueElement.getElementsByTagName("City")[0].childNodes[0].nodeValue);
                Stadium = (leagueElement.getElementsByTagName("Stadium")[0].childNodes[0].nodeValue);

                var players = leagueElement.getElementsByTagName("first_name");
                var player;
                var playerString;
                for(var index = 0; index < players.length; index++)
                {
                    player = players[index];
                    if (index == 0)
                    {
                        playerString = player.childNodes[0].nodeValue;
                    }
                    else
                    {
                        playerString = (playerString + "<br />" + player.childNodes[0].nodeValue);
                    }

                }

                Players = playerString;
                image = (leagueElement.getElementsByTagName("image")[0].childNodes[1].childNodes[0].nodeValue);
                txt = "Team_Name: " + Team_Name + "<br>description: " + description + "<br>City: " + City + "<br>Stadium: " + Stadium + "<br>Players: " + Players + "<br>image: " + image;
                document.getElementById("showXMLeague").innerHTML = txt;
            }

            displayXMLeague(0);
        </script>