Php 用DOMDocument加载RSS文件

Php 用DOMDocument加载RSS文件,php,xml,dom,rss,domdocument,Php,Xml,Dom,Rss,Domdocument,我对学校的PHP作业有意见。我必须创建一个PHP脚本来读取一个XML文件,其中包含指向不同RSS提要的大量URL。我正在使用DOMDocument从这个XML文件中检索一个URL,并用RSS提要加载一个新的DOM。我将“url”节点值分配给$url,然后使用$url为RSS提要创建一个新的DOM对象 $url = $student->getElementsByTagName("url"); $url = $url->item(0)->nodeValue; $rss = ne

我对学校的PHP作业有意见。我必须创建一个PHP脚本来读取一个XML文件,其中包含指向不同RSS提要的大量URL。我正在使用DOMDocument从这个XML文件中检索一个URL,并用RSS提要加载一个新的DOM。我将“url”节点值分配给$url,然后使用$url为RSS提要创建一个新的DOM对象

$url = $student->getElementsByTagName("url");
$url = $url->item(0)->nodeValue;


$rss = new DOMDocument();
$rss->load($url);

当我使用上面的代码时,RSS文件将不会加载。我甚至回显了$url,以确保它有一个分配给它的链接。但是,如果我将实际url放入load(),它就可以正常工作。为什么$url不能在load()中工作?

在这种情况下,您可以使用
simplexml\u load\u file
,但请记住,所有这些操作都是昂贵的(时间限制、内存等)

更新

$rssStack = array();
$xml = new DOMDocument();
$xml->load("http://people.rit.edu/cns3946/539/project2/rss_class.xml");
foreach ($xml->getElementsByTagName("url") as $url) {
    // you need to sanitize url
    $url = trim($url->nodeValue);
    $rss = new DOMDocument();
    $rss->load($url);
    $rssStack[] = $rss;
    // break;
}
print_r($rssStack);

请添加您的解决方案作为答案。在开发某些东西时,还要注意启用错误报告,因为PHP确实会告诉您这些错误:我会使用它,但是我们的教授要求我们使用DOMDocument….:/我成功了。我在代码中添加了trim((string),效果非常好。谢谢!
$rssStack = array();
$xml = new DOMDocument();
$xml->load("http://people.rit.edu/cns3946/539/project2/rss_class.xml");
foreach ($xml->getElementsByTagName("url") as $url) {
    // you need to sanitize url
    $url = trim($url->nodeValue);
    $rss = new DOMDocument();
    $rss->load($url);
    $rssStack[] = $rss;
    // break;
}
print_r($rssStack);