如何通过 PHP 显示 XML RSS 提要
How to display XML RSS feed by PHP
我有一项任务是通过 PHP 在网站上显示我的 XML RSS,到目前为止,我已经尝试了多种方法,但都失败了。我无法找到答案,因为大多数人通过 MySQL 数据库中的 PHP RSS 提要来获取帖子的实时提要。
XML RSS
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Treehouse front page</title>
<link>https://teamtreehouse.com/</link>
<description>Programming Tutorials</description>
<item>
<title>Code Academy</title>
<link>https://teamtreehouse.com/</link>
<description>Programming Tutorials</description>
</item>
</channel>
</rss>
如何通过 PHP 显示此文件?
尝试使用DOMDocument()
class,例如:
$rss = new DOMDocument();
$rss->load("http://yoursite.com/rss/");
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
这是一个提示。希望对你有所帮助。
非常感谢您带领我走上正轨!
但是该代码适用于 DOM 文件,而我的是 simplexml。
我用下面的代码解决了问题
<?php
$rss = simplexml_load_file('rss.xml');
echo '<h4>'. $rss->channel->title . '</h4>';
foreach ($rss->channel->item as $item) {
echo '<h4><a href="'. $item->link .'">' . $item->title . "</a></h4>";
echo "<p>" . $item->title . "</p>";
echo "<p>" . $item->description . "</p>";
}
?>
我有一项任务是通过 PHP 在网站上显示我的 XML RSS,到目前为止,我已经尝试了多种方法,但都失败了。我无法找到答案,因为大多数人通过 MySQL 数据库中的 PHP RSS 提要来获取帖子的实时提要。
XML RSS
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Treehouse front page</title>
<link>https://teamtreehouse.com/</link>
<description>Programming Tutorials</description>
<item>
<title>Code Academy</title>
<link>https://teamtreehouse.com/</link>
<description>Programming Tutorials</description>
</item>
</channel>
</rss>
如何通过 PHP 显示此文件?
尝试使用DOMDocument()
class,例如:
$rss = new DOMDocument();
$rss->load("http://yoursite.com/rss/");
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
这是一个提示。希望对你有所帮助。
非常感谢您带领我走上正轨!
但是该代码适用于 DOM 文件,而我的是 simplexml。 我用下面的代码解决了问题
<?php
$rss = simplexml_load_file('rss.xml');
echo '<h4>'. $rss->channel->title . '</h4>';
foreach ($rss->channel->item as $item) {
echo '<h4><a href="'. $item->link .'">' . $item->title . "</a></h4>";
echo "<p>" . $item->title . "</p>";
echo "<p>" . $item->description . "</p>";
}
?>