0

我正在使用以下 jQuery 来获取xml 提要的<title>和,因为没有返回任何内容,但是如果我要将变量更改为; 当我只查找内容的图像 src 属性值时,我返回了整个内容。<content>var contentimg = $(this).find('content').text().find("img").attr("src")$(this).find('content').text()

http://jsfiddle.net/bpBtC/3/

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://www.blogger.com/feeds/2399953/posts/default",
        dataType: "xml",
        success: xmlParser,
        dataType: 'jsonp'
    });
});

function xmlParser(xml) { 
    $(xml).find("entry").each(function () {
        var title = $(this).find('title').text();
        var contentimg = $(this).find('content').text().find("img").attr("src");
        $(".entirecont").append('<br/>'+title+'<br/>'+contentimg+'<br/><br/><br/>');
    });
}
​
4

2 回答 2

1

标签中的内容<content>被编码。你需要unescape它:

var contentimg = $(unescape($(this).find('content').text())).find("img").attr("src");
于 2012-04-17T18:24:26.417 回答
0

您的代码中有几个错误:

  1. 您没有将 xml 传递给回调函数。
  2. 您必须先解析 xml(使用 $.parseXML)
  3. 您必须将键和值参数传递给每个函数。

这是一个工作示例(没有来自提要的图像,但这应该是不言自明的)

    $(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://www.blogger.com/feeds/2399953/posts/default",
        dataType: "xml",
        success: function(xml) {
        xmlParser(xml)
        },
        dataType: 'jsonp'
    });
});

function xmlParser(xml) { 
    parsedxml = $.parseXML(xml)
xml = $(parsedxml)
        entries = xml.find("entry").each(function(key, value) {
        title = $(value).find("title").text()
        $("body").append(title)
        $("<br>").appendTo("body")
        })
}​
于 2012-04-17T18:44:47.850 回答