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

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 に答える
1

ここでのタグ名は「エンコード」されています。

使用するだけ

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