0

我正在尝试阅读和解析 RSS 提要。RSS 提要的标题如下:

<rss version="2.0" xmlns:content="http://www.mywebsite.com" xmlns:media="http://search.yahoo.com/mrss/" >

我成功地从项目中检索<title>和检索,<link>但我似乎找不到检索<content:encoded>孩子的方法。这就是我到目前为止所尝试的:

<?php

//error_reporting(E_ALL);
//ini_set("display_errors", 1);

....

$x=$xmlDoc->getElementsByTagName('item');

foreach($x as $item) {
    $link = $item->getElementsByTagName('link')->item(0)->nodeValue;
    $title = $item->getElementsByTagName('title')->item(0)->nodeValue;
    $content = $item->getElementsByTagNameNS('http://www.mywebsite.com', 'encoded')->item(0);
    echo ("<p><a href='" . $link. "'>" . $title . "</a></p><p>" . $content . "</p>");
}

?>

您可以想象$content即使我尝试获取nodeValue属性也是空的,我在这里缺少什么?

4

2 回答 2

1

这里的标签名称是“编码的”。

只需使用

$content => $node->getElementsByTagName('encoded')->item(0)->nodeValue
于 2013-08-29T05:29:38.240 回答
1

我最终使用了 SimpleXmlElement:

$x = new SimpleXmlElement($s);

foreach($x->channel->item as $entry) {

    $content = $entry->children("content", true);
    echo "<p>".$content->encoded."</p>";
}

奇迹般有效。

于 2013-02-01T08:36:53.467 回答