我使用PHP和JavaScript解析RSS訂閱源。首先,我使用PHP創建了一個代理來獲取RSS提要。然後使用JavaScript從此RSS源獲取個人數據。我與JavaScript的問題。如果我沒有錯誤地使用console.log(rssData);
,我可以獲得整個JavaScript文檔。如果我嘗試獲取本文檔中的單個元素,例如:<title>
,<description>
或<pubDate>
使用rssData.getElementsByName("title");
它會給出錯誤「Uncaught TypeError:Object .... has no method'getElementsByName'」。所以我的問題是如何獲得RSS源中的元素?使用javascript解析rss訂閱源
使用Javascript(更新)
function httpGet(theUrl) {
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", theUrl, false);
xmlHttp.send(null);
return xmlHttp.responseXML;
}
// rss source
var rssData = httpGet('http://website.com/rss.php');
// rss values
var allTitles = rssData.getElementsByTagName("title"); // title
var allDate = rssData.getElementsByTagName("pubDate"); // date
'xmlHttp.responseText'是一個'String'。 'String's沒有'getElementsByName()'函數。你期待XML響應嗎?請改用'xmlHttp.responseXML'。此外,您可能會遇到跨域問題與JS做這個。您可能希望通過對您自己的應用程序的AJAX請求獲取PHP端的提要。 –
@Cory感謝您的回覆,是的'xmlHttp.responseXML'正是我一直在尋找的。我還將來源策略標題添加到所有訪問。 –