Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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
Javascript 如何按顺序对XML数据进行排序?_Javascript_Jquery_Html_Xml_Get - Fatal编程技术网

Javascript 如何按顺序对XML数据进行排序?

Javascript 如何按顺序对XML数据进行排序?,javascript,jquery,html,xml,get,Javascript,Jquery,Html,Xml,Get,我有一组列表项,我想在页面加载时从高到低自动显示。理想情况下使用jquery或javascript 这是我的密码 data.xml <cd> <presantage>10%</presantage> </cd> <cd> <presantage>50%</presantage> </cd> <cd> <presantage>5%</presantage>

我有一组列表项,我想在页面加载时从高到低自动显示。理想情况下使用jquery或javascript

这是我的密码

data.xml

<cd>
  <presantage>10%</presantage>
</cd>
<cd> 
  <presantage>50%</presantage>
</cd>
<cd>
  <presantage>5%</presantage>
</cd>

10%
50%
5%
用于显示xml数据

$(document).ready(function(){
    $.ajax({
        type:"GET",
        url:"data.xml",
        dataType:"xml",
        success:xmlParser2
    });
   });
   function xmlParser2(xml){
    xml = $(xml).children();
    $(xml).children().each(function () {

       let tag = $(this).prop("tagName");
        let presantage = '<div>' + $(this).find("presantage").text() + '</div>';

        let html = '<li>'+ (presantage)+'</li>';

            $(".list").append(html);
    });
}
$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“data.xml”,
数据类型:“xml”,
成功:xmlParser2
});
});
函数xmlParser2(xml){
xml=$(xml.children();
$(xml).children().each(函数(){
let tag=$(this.prop(“标记名”);
让presantage=''+$(this).find(“presantage”).text()+'';
设html='
  • '+(优势)+'
  • '; $(“.list”).append(html); }); }
    对于订单元素

    var ul = $(".list:first");
    var arr = $.makeArray(ul.children("li"));
    
    arr.sort(function(a, b) {
        var textA = +$(a).text();
        var textB = +$(b).text();
    
        if (textA < textB) return -1;
        if (textA > textB) return 1;
    
        return 0;
    });
    
    ul.empty();
    
    $.each(arr, function() {
        ul.append(this);
    });
    
    var ul=$(“.list:first”);
    var arr=$.makeArray(ul.children(“li”);
    arr.sort(函数(a,b){
    var textA=+$(a).text();
    var textB=+$(b).text();
    如果(textAtextB)返回1;
    返回0;
    });
    ul.empty();
    $.each(arr,function(){
    ul.附加(本);
    });
    
    html

    试试这个:

     function xmlParser2(xml){
       var obj = {};
    
    xml = $(xml).children();
    $(xml).children().each(function () {
    
        obj[$(this).find("presantage").text().replace('%', '')]  = $(this).find("presantage").text();
    
    
    
    
    });
    
    for(var k in obj ){
        let html = '<li>'+ (obj[k])+'</li>';
    
        $(".list").append(html);
    }
    
    // alert(JSON.stringify(obj)) 
    }
    
    函数xmlParser2(xml){
    var obj={};
    xml=$(xml.children();
    $(xml).children().each(函数(){
    obj[$(this.find(“presantage”).text().replace('%,'')=$(this.find(“presantage”).text();
    });
    用于(obj中的var k){
    设html='
  • '+(obj[k])+'
  • '; $(“.list”).append(html); } //警报(JSON.stringify(obj)) }
    试试这个:

     function xmlParser2(xml){
       var obj = {};
    
    xml = $(xml).children();
    $(xml).children().each(function () {
    
        obj[$(this).find("presantage").text().replace('%', '')]  = $(this).find("presantage").text();
    
    
    
    
    });
    
    for(var k in obj ){
        let html = '<li>'+ (obj[k])+'</li>';
    
        $(".list").append(html);
    }
    
    // alert(JSON.stringify(obj)) 
    }
    
    函数xmlParser2(xml){
    var obj={};
    xml=$(xml.children();
    $(xml).children().each(函数(){
    obj[$(this.find(“presantage”).text().replace('%,'')=$(this.find(“presantage”).text();
    });
    用于(obj中的var k){
    设html='
  • '+(obj[k])+'
  • '; $(“.list”).append(html); } //警报(JSON.stringify(obj)) }
    这是一个简单的JS(纯)代码,用于按描述顺序对百分比进行排序

    var doc = new DOMParser().parseFromString(xml, "application/xml");
    var elements = doc.getElementsByTagName('presantage');
    var percentages = [];
    for (let i = 0; i < elements.length; i++) {
        percentages.push(parseFloat(elements[i].textContent));
    }
    percentages.sort((a, b) => b - a); // array [50, 10, 5]
    
    var doc=new DOMParser().parseFromString(xml,“application/xml”);
    var elements=doc.getElementsByTagName('presantage');
    风险值百分比=[];
    for(设i=0;ib-a);//数组[50,10,5]
    
    在此之后,您可以对循环百分比进行排序,并创建列表html

    注意:如果您需要按升序排序,您可以执行
    a-b

    这是一个简单的JS(纯)代码,可以按desc顺序对百分比进行排序

    var doc = new DOMParser().parseFromString(xml, "application/xml");
    var elements = doc.getElementsByTagName('presantage');
    var percentages = [];
    for (let i = 0; i < elements.length; i++) {
        percentages.push(parseFloat(elements[i].textContent));
    }
    percentages.sort((a, b) => b - a); // array [50, 10, 5]
    
    var doc=new DOMParser().parseFromString(xml,“application/xml”);
    var elements=doc.getElementsByTagName('presantage');
    风险值百分比=[];
    for(设i=0;ib-a);//数组[50,10,5]
    
    在此之后,您可以对循环百分比进行排序,并创建列表html


    注意:如果需要按升序排序,最好对javascript执行
    a-b

    presantage
    -输入法是javascript的理想选择
    presantage
    -键入我应该把代码放在哪里我应该把代码放在哪里这是如何排序的
    presantage
    s?对象键默认在JS中排序,就像PHP中的数组键一样。我的错。我忽略了
    replace
    call。谢谢+1如何对
    presantage
    s进行排序?默认情况下,对象键在JS中进行排序,就像PHP中的数组键一样。我的坏消息。我忽略了
    replace
    call。谢谢+1.