【发布时间】:2012-11-16 02:55:37
【问题描述】:
我正在使用它来解析来自 rss 提要的内容:
$rss = new DOMDocument();
$rss->load($feedurl);
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array(
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'content' => $node->getElementsByTagName('content:encoded')
->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
'guid' => $node->getElementsByTagName('guid')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 1;
for ($x = 0; $x < $limit; $x++) {
$title = str_replace(' & ', ' & ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$content = $feed[$x]['content'];
$guid = $feed[$x]['guid'];
}
并将内容分配给变量。
除了一个之外,所有这些都在工作。为什么是这样?
请有人帮我解决这个问题:)
【问题讨论】:
-
您在 XML 中使用了
content:encoded作为标签名称?content:这里可能被视为命名空间。检查getElementxByTagName 看看是否有帮助。