2

PHPのSimpleXMLで名前空間(またはセミコリン)アイテムを取得する際に問題が発生しました。私はグーグルを少し掘り下げて、asXMLのようなものを試しましたが、正方形の1つに戻っています。

取得できない部分<content:encoded>

http://content.sportsdatallc.com/?feed=rss2&cat=364

PHP

$xml = new SimpleXMLElement($response, LIBXML_NOCDATA);
print_r($xml);

上記の部分を除いて、必要なすべてのノードを取得できます。print_rの場合、表示されません。

私もこれを試しました:

$xml = new SimpleXMLElement($response, LIBXML_NOCDATA);
foreach ($xml->channel->item as $item)
{
    echo 11;
    $art = $item->children('content:encoded');
    print_r($art);
}
4

2 に答える 2

1

簡単な解決策 str_replace the content:encoded を content にします。

$xml = str_replace('content:encoded>', 'content>', $xml);

これは最善の解決策ではないかもしれませんが、シンプルで機能します:)

于 2012-07-13T13:37:43.790 に答える
0

必要なもの:

foreach($xml->channel->item as $item) {
  $contentNodes = $item->children('content',true);
   ...
}

このクラスの名前空間を見てください。

于 2012-07-12T19:27:55.173 に答える