2014-02-08 51 views
0

我试图用jQuery显示XML文件中的数据,尽管我拥有正在重复的正确数据量的数据。 JS:用jQuery显示HTML格式的数据

$(function(){var xml = '<?xml version="1.0" ?><sports file_date="2014-02-08T08:30:11.207"> <sport id="1" name="Football"><event id="3" name="Eng. Premier League"><match id="670358" live_id="91583" name="Liverpool - Arsenal" start_date="2014-02-08T12:45:00" streaming="0"><bets><bet code="Ftb_Mr3" id="10178143" name="Match Result"><choice id="75726090" name="%1%" odd="2.10"/><choice id="75726093" name="Draw" odd="3.40"/><choice id="75726096" name="%2%" odd="3.30"/></bet></bets></match></event></sport></sports>'; 

    var xmlDoc = $.parseXML(xml); 

    var $xml = $(xmlDoc); 
    var $match = $xml.find("match"); 
    var $odds = $match.find("choice"); 

    var game = $match.attr('name'), 
     odd = $odds.attr('odd'); 

    $("#title").append(game); 
    $odds.each(function(){ 
     $("#odds").append('<li>' +odd+ '</li>'); 

    }); 
}); 

你可以在这里看到:

http://jsfiddle.net/6XcHW/

任何建议将是非常有帮助我也想这个数据(将一个外部XML文件),每隔30秒进行检查使用ajax。

回答

0

关于你提到的第一个问题:

http://jsfiddle.net/6XcHW/3/

$(function(){ 
var xml = '<?xml version="1.0" ?><sports file_date="2014-02-08T08:30:11.207"> <sport id="1" name="Football"><event id="3" name="Eng. Premier League"><match id="670358" live_id="91583" name="Liverpool - Arsenal" start_date="2014-02-08T12:45:00" streaming="0"><bets><bet code="Ftb_Mr3" id="10178143" name="Match Result"><choice id="75726090" name="%1%" odd="2.10"/><choice id="75726093" name="Draw" odd="3.40"/><choice id="75726096" name="%2%" odd="3.30"/></bet></bets></match></event></sport></sports>'; 

    //Parse the givn XML 
var xmlDoc = $.parseXML(xml); 

var $xml = $(xmlDoc); 
    var $match = $xml.find("match"); 
    var $odds = $match.find("choice"); 



    var game = $match.attr('name'); 


    $("#title").append(game); 
      $odds.each(function(){ 
       odd = $(this).attr('odd'); 

    $("#odds").append('<li>' +odd+ '</li>'); 

    }); 
}); 

所以,奇VAR是“对飞”,内循环创建的,那么有没有重复的(在你的代码,只是第一场比赛被重复)。

+0

谢谢,我知道这将是服用点明显有任何建议让Ajax工作? – wroughtec

+0

@wroughtec,http://stackoverflow.com/questions/11421373/read-xml-with-jquery-javascript-every-5-seconds。这应该有帮助... – sinisake

0

的问题是,你有每个对象,但不是在属性值,则代码应该喜欢这个

$odds.each(function(){ 
    $("#odds").append('<li>' + $(this).attr('odd') + '</li>'); 
}); 

希望这有助于:)