尝试迭代并解析xml标记并分别在段落中显示每个文本

时间:2011-03-18 16:21:46

标签: javascript jquery xml ajax

我正在使用Jquery来获取我想要解析的一些xml代码。我有一个标签,其中嵌有一堆类似的标签,如何从这些标签中取出文本并将它们放入段落中,现在它将从嵌套在父标签中的标签中取出所有文本并将它们全部放入在一个段落中。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>DJ Ron Love Music Catalog</title>
    <script type='text/javascript' src='http://imaginationeverywhere.info/jslib//dev/jquery-1.5.1.js'>
    </script>
    <script type='text/javascript' src="http://imaginationeverywhere.info/djronlove/itunes.js">
    </script>
</head>
<body>
    <h3>Displaying DJ Ron Love's Music Catalog</h3>
</body>
</html>

我写的js如下:

$(function(){
$(window).load(function(){
    $.ajax({
        url: 'http://imaginationeverywhere.info/djronlove/new_2.xml',
        dataType: 'xml',
        success: function(xml){
            $(xml).find('dict').each(function(){
                var key = $(this).find('key').text();
                $('<p></p>').addClass('key').html(key).appendTo('#container');
            });
        }
    });
});
$('<div></div>').attr('id', 'container').appendTo('body');
});

2 个答案:

答案 0 :(得分:1)

也许是这样的?

$.ajax({
  url:'goGetMyscript.xml'
, type : 'GET'
, dataType : 'xml'
, success : parseXML
});

function parseXML(xml){
  $(xml).find('catalogItem').each(function(){
    $('#someDiv').append('<p>' + $(this).text() + '</p>' )
  });
};

答案 1 :(得分:1)

$.ajax({
    type: "GET",
    url: "test.xml",
    dataType: "xml",
    success: function(xml){
        parseXml(xml);
    }
});

function parseXml(xml){
    $(xml).find(*).each(function(){    //i have put * here for children but if you know what you want then put that instead ie "author" or "title"
        var text = $(this).text();
        $("body").append("<p>"+text+"</p>");
    });
}




//using your code
$(document).ready(function(){

    $("body").append("<div id='container'></div>");

    $.ajax({
        url: 'http://imaginationeverywhere.info/djronlove/new_2.xml',
        dataType: 'xml',
        success: function(xml){
            $(xml).find('dict').each(function(){
                var key = $(this).find('key').text();
                $("#container").append("<p>"+text+"</p>");
            });
        }
    });

});