使用Javascript Display.childNodes进行XML解析
使用Javascript解析XMLDisplay.childNodes 我正在学习XML&Javascript,但在显示XML文件中的.childNodes和.nodeValue时遇到问题使用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
- 在w3schools.com和Google中搜索失败:(
- 我不明白为什么不显示数据
<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>