我正在尝试阅读和解析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
属性也是空的,我在这里缺少什么?
答案 0 :(得分:1)
我最终使用了SimpleXmlElement:
$x = new SimpleXmlElement($s);
foreach($x->channel->item as $entry) {
$content = $entry->children("content", true);
echo "<p>".$content->encoded."</p>";
}
像魅力一样。
答案 1 :(得分:1)
此处的标记名称为“已编码”。
只需使用
$content => $node->getElementsByTagName('encoded')->item(0)->nodeValue