【问题标题】:Fatal error: Call to a member function getElementsByTagName() WordPress 4.2.2 RSS Feed致命错误:调用成员函数 getElementsByTagName() WordPress 4.2.2 RSS Feed
【发布时间】:2015-08-26 18:30:22
【问题描述】:

当我尝试从我的 wordpress 博客中提取 RSS 提要时,我收到 致命错误:调用成员函数 getElementsByTagName()。这是我用来获取 RSS 提要的代码(直到最近才起作用):

$xmlDoc = new DOMDocument();
        @$xmlDoc->load('http://www.revolutionpersonaltraining.com.au/blog/feed/');
        $x      = $xmlDoc->getElementsByTagName('item');

        for ($i=0; $i<6; $i++):
            $items[$i]['date']  = strftime("%Y-%m-%d %H:%M:%S", strtotime($x->item($i)->getElementsByTagName('pubDate')->item(0)->childNodes->item(0)->nodeValue));
            $items[$i]['title'] = $x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
            $items[$i]['link']  = $x->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
            $items[$i]['desc']  = $x->item($i)->getElementsByTagName('encoded')->item(0)->childNodes->item(0)->nodeValue;
        endfor;

如果有人能对此有所了解,那就太好了。

【问题讨论】:

  • $x->item($i) 可能不是文档。你能用 .而不是->,语法是document.getElementsByTagName('') na.
  • 如果我使用 .而不是 ->
  • 同样的错误.. 致命错误:调用成员函数 getElementsByTagName()

标签: php xml wordpress rss domdocument


【解决方案1】:

你可以这样使用:

$feed = new DOMDocument();
$feed->load('http://www.revolutionpersonaltraining.com.au/blog/feed/');


$items = array();
foreach ($feed->getElementsByTagName('item') as $item) {
    array_push($items, array ( 
        'title' => $item->getElementsByTagName('title')->item(0)->nodeValue,
        'desc' => $item->getElementsByTagName('description')->item(0)->nodeValue,
        'link' => $item->getElementsByTagName('link')->item(0)->nodeValue,
        'date' => $item->getElementsByTagName('pubDate')->item(0)->nodeValue,
    ));
}

祝你好运

【讨论】:

  • 我得到了这个(我的数组是空的):
  • 警告:DOMDocument::load(): CData 部分未完成

    什么是举重?不是在revolutionpersonaltraining.com.au/blog/feed,第 36 行 /home/revopt/public_html/modules/mod_wordpress/helper.php 中的第 51 行警告:DOMDocument::load(): PCDATA invalid Char value 24 in revolutionpersonaltraining.com.au/blog/feed , line: 51 in /home/revopt/public_html/modules/mod_wordpress/helper.php on line 36

  • 我打开它,我查看了源代码,RSS 都在里面。这是 Wordpress 的问题吗?
猜你喜欢
  • 2018-11-11
  • 1970-01-01
  • 2011-08-22
  • 2012-09-29
  • 2014-02-05
  • 2014-04-29
  • 2015-09-14
  • 2014-10-07
相关资源
最近更新 更多