我正在使用PHP和JavaScript解析RSS提要。首先,我使用PHP创建了一个代理来获取RSS提要。然后使用JavaScript从此RSS源获取单个数据。我的JavaScript问题。如果我使用console.log(rssData);
没有错误,我可以获得整个JavaScript文档。如果我尝试将此文档中的单个元素说成例如:<title>
,<description>
或<pubDate>
使用rssData.getElementsByName("title");
,则会出现错误“Uncaught TypeError:Object ... 。没有方法'getElementsByName'“。所以我的问题是如何获取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
答案 0 :(得分:3)
尝试将httpGet
函数的最后一行更改为:
return xmlHttp.responseXML;
毕竟,您期待回复XML响应。您可能还需要将此行添加到PHP代理中:
header("Content-type: text/xml");
强制将返回内容作为XML发送。