2015-07-02 2 views
0

XML PARSING с Javascript Display .childNodesXML Синтаксический с Javascript Показать .childNodes

Я изучение XML & Javascript, но у меня есть проблемы, чтобы отобразить .childNodes и .nodeValue из А в моем файле XML.

  • Поиск в w3schools.com и Google безуспешно :(
  • Я не понимаю, почему не отображать данные ...

Любая помощь Добро пожаловать!

Спасибо в Advance для поддержки

Код 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> 

Кодекс 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> 

Anexo: URL Imagen of my test Studing

Спасибо заранее за поддержку

ответ

0

В IE я получаю: Невозможно получить свойство 'getElementsByTagName' из неопределенная или нулевая ссылка. «x» внутри displayXMLeague (i) не определено, поэтому я изменил его на «var x». Я также предполагаю, что вы вызываете функцию displayXMLeague. В моем примере ниже я просто добавляю вызов внизу: "displayXMLeague (0);"

 <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> 

Ваш выход:

TEAM_NAME: Бернли
Описание: fundado ан 1882. PremierLeague 2013/14
Город: Londres
Стадион: Бернли
Игроки: Daniel Johnson
Charles N» Zogbia
image: images/xmleague/burnley.png

+0

Спасибо, много, jmcclure Я многому научился с вашей поддержкой ... Я изучу код ... Добро пожаловать! Gracias desde Colombia! :) – DiegoPino

Смежные вопросы