2013-10-18 79 views
0

我想從這個鏈接的JavaScript/jQuery的解析XML

http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com 

var xml = "http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com;" 
var xmlDoc = $.parseXML(xml), 
$xml = $(xmlDoc), 
$title = $xml.find("like_count"); 
$('.countnumber').text($title.text()); 

得到像數數不過,我得到這個錯誤

Uncaught Error: Invalid XML: http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com ;

有沒有辦法通過JavaScript來解析它?

感謝

+1

是什麼'xml'包含哪些內容? –

+1

你必須先得到你的xml,你只給jQuery一個鏈接到一個xml文檔 – megawac

+0

,因爲'xml'的內容不是一個xml值..它是一個url ...你需要閱讀的內容該網址首先 –

回答

2

在你的情況xml包含資源的網址,而不是一個XML字符串,它是錯誤的原因。你需要先閱讀url的內容然後解析它。

您需要讀取URL的內容

var xml = "http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com;" 
$.get(xml).done(function(xml){ 
    var $xml = $(xml), 
     $title = $xml.find("like_count"); 
    console.log($title.text()) 
}) 

演示:Fiddle

1

正如在評論中提到第一檢索XML。

$.ajax({ 
    url: "http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com;", 
    dataType: "xml" 
}).done(function(data) { 
    var $xml = $(data), 
     $title = $xml.find("like_count"); 
    $('.countnumber').text($title.text()); 
}); 
1

您需要一個表示您的xml的字符串,而不是資源的URI。此外,parseXML甚至不是必需的。

你需要使用AJAX來獲取XML:

var xml = "http://api.facebook.com/restserver.php?  method=links.getStats&urls=http://www.apple.com;"; 

    $.get(xml, function(data){ 
     var xmlDoc = $(data); 
     .. your code here 
    });