Попытка перебрать и проанализировать теги XML и отобразить текст внутри каждого абзаца отдельно - PullRequest
0 голосов
/ 18 марта 2011

Я использую 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 ]

1 голос
/ 18 марта 2011
$.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>");
            });
        }
    });

});
1 голос
/ 18 марта 2011

Может как то так?

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

function parseXML(xml){
  $(xml).find('catalogItem').each(function(){
    $('#someDiv').append('<p>' + $(this).text() + '</p>' )
  });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...