如何在页面加载时返回一个随机的外部xml数据集

问题描述 投票:0回答:1

在我下面的代码中,我可以遍历我的xml文件,但是我找不到在页面加载时输出随机集的方法,例如:(Banana 4011)。

我不熟悉xml并使用javascript获取其内容。

//我的代码输出(BananaLemon)

// plu.xml

<?xml version='1.0' ?>
<doc>
  <item>
    <name>lemon</name>
    <code>4053</code>
  </item>
  <item>
    <name>banana</name>
    <code>4011</code>
  </item>
</doc>

// JavaScript的

$(document).ready(function(){
   $.ajax({
    type: "GET" ,
    url: "plu.xml" ,
    dataType: "xml" ,
    success: function(xml) {

    var xmlDoc = $.parseXML( xml );  
    //if single item
    var plu = $(xml).find('item').text();  
    //but if it's multible items then loop
    $(xml).find('name').each(function(){
     $("#item").append($(this).text());  
    }); 
    }       
});
});

//非常感谢任何知识,谢谢。

javascript jquery xml
1个回答
1
投票

你不需要$ parseXML,你可以直接迭代parent:item:

$.ajax({
    type: "GET" ,
    url: "1.xml" ,
    dataType: "xml" ,
    success: function(xml) {
        $(xml).find('item').each(function(){
            $("#item").append($('<p/>', {text: 'name: ' + $(this).find('name').text() +
            ' code: ' + $(this).find('code').text()}));
        });
    }
});

来自你的评论:

仍然很好奇如何从xml文件中返回一个随机结果集

代码是:

$.ajax({
    type: "GET" ,
    url: "1.xml" ,
    dataType: "xml" ,
    success: function(xml) {
        var eles = $(xml).find('item');
        var rn = Math.floor(Math.random() * eles.length);
        $("#item").append($('<p/>', {text: 'name: ' + eles.eq(rn).find('name').text() +
        ' code: ' + eles.eq(rn).find('code').text()}));
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.