我想從URL中檢索XML並使用JQuery解析它。我正在假設不能跨域訪問的不同域名不能通過AJAX訪問。因此,我創建了一個PHP代碼返回它(我不明白這是怎麼我們要應對2015年的東西,但也許我只是啞):從URL中檢索XML並用JQuery解析
header('Content-Type:xml');
$xmlDoc = new DOMDocument();
$xmlDoc->load("http://www.ncbi.nlm.nih.gov/pubmed/22375842?report=xml");
$xmlstring = $xmlDoc->saveXML($xmlDoc->documentElement);
print $xmlstring;
現在我使用的是AJAX功能,調用數據:
$.ajax({
url: "loadXML.php", //+ searchString,
dataType: "xml",
type: "GET",
success: parseXml
});
最後,這裏是我的parseXML功能,它已經過測試與本地XML頁面和正常工作。此代碼已被重複了很多次:
function parseXml(xml){
$(xml).find("Article").each(function()
{
$("#output").append($(this).attr("PubModel") + "<br />");
$("#ArticleTitle").append(": " + $(this).find("ArticleTitle").text() + "<br />");
});
$(xml).find("Author").each(function()
{
$("#Author").append(": " + $(this).find("LastName").text());
$("#Author").append(", " + $(this).find("ForeName").text());
});
};
什麼也沒有發生。有人爲了愛宙斯請幫助我......並且輕鬆起來,我顯然不理解如何做一些非常簡單的事情。我想過將PHP頁面上的數據保存到我的服務器上的本地文件,但它無法處理「<」和「>」。我有點迷失在這裏。
添加'的console.log(XML);'的' parseXml'函數併發布結果。 – Hackerman 2015-02-23 21:02:28
設置內容類型標題的正確方法是'header(「Content-Type:text/xml」)' – roeland 2015-02-23 21:04:23
added console.log(xml);在parseXml函數中,沒有任何改變。還糾正了內容類型標題。 – user2954658 2015-02-23 21:09:06