如何从XML获得金银价格并使其每3秒上传一次

时间:2014-01-17 14:47:33

标签: javascript xml jquery

我有这个XML文件我尝试加载黄金和白银的价格并每4秒更新一次我尝试使用此行来获取父元素元素attr =“Gold Canadian $”但没有使用工作更新我试图获得白银价格,我不能它会取消黄金价格?

  

goldBid = $(this).find(“name [Gold Canadian   。$]“)的儿童( '出价')文本();

    <?xml version="1.0" encoding="utf-8" ?>
    <MyFeed Provider="FastMarkets">
      <XAUCAD name="Gold Canadian $">
        <bid_time>20140117024711</bid_time>
        <bid>1359.27</bid>
      </XAUCAD>
      <XAGCAD name="Silver Canadian $">
        <bid_time>20140117024709</bid_time>
        <bid>22.02</bid>
      </XAGCAD>
    </MyFeed> 
    update 
    $(function () {
    jQuery.support.cors = true;
    $.ajax({
        type: "GET",
        url: "XMLFile1.xml",
        dataType: "xml",
        success: function (xml) {

            var goldBid = $(xml).find('XAGCAD[name="Gold Canadian $"]').children('bid').text();
            $("#AUCAD").append("$" + goldBid);
            var silverBid = $(xml).find('XAGCAD[name="Silver Canadian $"]').children('bid').text();
            $("#AGCAD").append("$" + silverBid);

        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log(textStatus, errorThrown);
        }
    });

});

1 个答案:

答案 0 :(得分:1)

使用attribute-selectors

尝试此操作
 var goldBid =$xml.find('XAUCAD[name="Gold Canadian $"]').children('bid').text()

并获得银价值

var silverBid =$xml.find('XAGCAD[name="Silver Canadian $"]').children('bid').text()

注意:请注意当属性有空格时,加拿大金币周围的引号

问题:当您使用$(this).attr('Gold Canadian $')时,您尝试选择属性"Gold Canadian $"而不是属性名称。在这种情况下,当你使用每个语句时,你还需要一个if语句