尝试列出博客RSS Feed中的项目。我添加了以下控制器:
/**
* @Route("/rss", name="rss",
* options={"sitemap" = true}
* )
*/
public function rss(){
$rss = simplexml_load_file('https://somesite.wordpress.com/feed');
return $this->render('default/rss-reader.html.twig', array(
'rss' => $rss,
));
}
在我的树枝模板中有以下内容:
{% for item in rss %}
{{ item.item.title }}
{{ item.item.link }}
{% endfor %}
我之前只有item.title,但后来显示了博客网站的标题,而不是每个博客。当我使用它时,它只显示第一个帖子而不会继续。
答案 0 :(得分:1)
simplexml_load_file(http://php.net/manual/fr/function.simplexml-load-file.php)返回一个SimpleXMLElement http://php.net/manual/fr/class.simplexmlelement.php对象。
所以它取决于XML结构,RSS feed可以像:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Mon site</title>
<description>Ceci est un exemple de flux RSS 2.0</description>
<lastBuildDate>Sat, 07 Sep 2002 00:00:01 GMT</lastBuildDate>
<link>http://www.example.org</link>
<item>
<title>Actualité N°1</title>
<description>Ceci est ma première actualité</description>
<pubDate>Sat, 07 Sep 2002 00:00:01 GMT</pubDate>
<link>http://www.example.org/actu1</link>
</item>
<item>
<title>Actualité N°2</title>
<description>Ceci est ma seconde actualité</description>
<pubDate>Sat, 07 Sep 2002 00:00:01 GMT</pubDate>
<link>http://www.example.org/actu2</link>
</item>
</channel>
</rss>
所以在这里,你试着循环通过“频道”标签。
尝试使用xpath http://php.net/manual/fr/simplexmlelement.xpath.php将item
标记检索为SimpleXMLElement
的数组。