php如何获取rss feed中最旧项目的日期

时间:2010-04-10 06:25:01

标签: php rss twitter

使用simplexml解析Feed,但我想获取Feed中最旧项目的日期。有谁知道怎么做?感谢

$ rss = simplexml_load_file(“http://search.twitter.com/search.atom?lang=en&q=foobar&rpp=100&page=1”);

2 个答案:

答案 0 :(得分:1)

  1. 首先从RSS Feed获取所有项目并将其存储在类似this的数组中。

  2. Now sort array by date

  3. 根据您的排序顺序获取第一个/最后一个结果。

答案 1 :(得分:0)

如果您只想获取最后一个<entry>元素(在document-order中),可以使用SimpleXMLElement::xpath()和last()函数
http://www.w3.org/TR/xpath/说:

child :: para [position()= last()]选择上下文节点的最后一个子节点

e.g。

$url = "http://search.twitter.com/search.atom?lang=en&q=foobar&rpp=100&page=1"; 
$feed = simplexml_load_file($url);
$feed->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');

$entry = $feed->xpath('//atom:entry[position()=last()]');
if ( isset($entry[0]) ) {
  $entry = $entry[0];
}
else {
  die('not found');
}
var_dump($entry);

[position()=last()]可缩短为[last()]

如果最旧的条目不是文档顺序中的最后一个条目,那么您还需要其他条目。