Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery将数据从xml转换为html_Jquery_Html - Fatal编程技术网

使用jquery将数据从xml转换为html

使用jquery将数据从xml转换为html,jquery,html,Jquery,Html,我正在使用jquery将XML中的数据转换成html,我构建了一个运行良好的函数,如下所示 function parseXml(xml){ xmlcontent = xml; $('#file').html('$'+ GetDeals('delhi','india')); $('#file1').html('$'+ GetDeals('mumbai','india')); $('#file2').html('$'+ GetDeals('kolkata','indi

我正在使用jquery将XML中的数据转换成html,我构建了一个运行良好的函数,如下所示

function parseXml(xml){
    xmlcontent = xml;
    $('#file').html('$'+ GetDeals('delhi','india'));
    $('#file1').html('$'+ GetDeals('mumbai','india'));
    $('#file2').html('$'+ GetDeals('kolkata','india'));    
}

function GetDeals(state, country){
    var lowestPrice=0;    
    $(xmlcontent).find("ndata[nstate='"+state+"'][ncountry='"+ country +"']").each(function(){
        lowestPrice =  parseInt($(this).attr('price')) ;
    });
    return lowestPrice;    
}
现在,我想从xml中再选择一个字段调用cityrating,例如,第一个参数包含cityrating=1,第二个参数包含cityrating=2,最后一个参数是3,我想在新的div中得到它,我挣扎了将近3个小时,但它不起作用我下面给出的更改函数。当我运行此函数cityrating replace by last cityrating时,例如,所有参数cityrating均替换为3

function parseXml(xml){
    xmlcontent = xml;
    $('#file').html('$'+ GetDeals('delhi','india'));
    $('#file1').html('$'+ GetDeals('mumbai','india'));
    $('#file2').html('$'+ GetDeals('kolkata','india'));    
}

function GetDeals(state, country){
    var lowestPrice=0;
    var cityRating=[];

    $(xmlcontent).find("ndata[nstate='"+state+"'][ncountry='"+ country +"']").each(function(){
        lowestPrice =  parseInt($(this).attr('price'));
        cityRating.push(parseInt($(this).attr('CityRating')));
        $('.city').html(cityRating[0])
    });
    return lowestPrice;    
}
//我的html

<div id="file"></div>
<div class="city"></div>

<div id="file1"></div>
<div class="city"></div>

<div id="file2"></div>
<div class="city"></div>

我看到您正在尝试查找类为
city
但不存在的元素


它应该是
$('.#city').html(cityRating[0])
而不是
$('.city').html(cityRating[0])

当我发出警报(cityRating)时,它在警报框中显示正确的值,但它像第一次一样一个接一个地显示1,然后是2和3,url:“newdata.xml”,数据类型:“xml”,成功:parseXml};})@amit您能否提供您的示例xml。我可以在JSFIDLE中使用它,因为我又看到一个输入错误。它应该是
parseInt($(this).attr($(cityRating))
而不是
parseInt($(this).attr($(cityRating))
@amit我也不确定你想要什么结果。因为当您执行
$('.city').html(cityRating[0])
时,所有匹配的
div
s类
city
的评级都将更改。如果您希望显示相应的城市等级,则需要将相应的
div
id发送到
GetDeals
函数我希望我有三个等级为city的div,第一个城市等级我希望等级为1,第二个城市等级我希望等级为2,最后一个城市等级我希望等级为3,但是当我运行这个函数时,所有的city div都附加了cityrating=3