RSSフィードの一部にアクセスできないようです。私はこの記事を読んだ:Accessing date as XML node in PHPとProblem getting author from a wordpress RSS feed using SimpleXmlElementの記事しかし、私はまだこれを動作させるように見えることはできません。PHP RSSを取得するときにforeach()の引数が無効です
<item>
<title>This is the title</title>
<dc:creator>!an (@myHandle)</dc:creator>
<description><![CDATA[<p class="TweetTextSize js-tweet-text tweet-text" lang="en">What is this tweeet</p>]]></description>
<pubDate>Tue, 03 Jan 2017 22:01:54 +0000</pubDate>
<guid>1234567</guid>
<link>1234567</link>
<twitter:source/>
<twitter:place/>
</item>
ここは私が手に入れているrssの部分です。ここでは完全なRSSは次のとおりです。https://twitrss.me/twitter_search_to_rss/?term=test+this+feed
私はそうのようなPHPコードでこれにアクセスしようとしています:
$feed = new DOMDocument();
$feed->load('https://twitrss.me/twitter_search_to_rss/?term=test+this+feed');
foreach ($feed->getElementsByTagName('channel')->item(0) as $item) {
$ns_dc = $item->children('http://purl.org/dc/elements/1.1/');
echo $ns_dc->creator;
}
が、私はこのエラーを取得しておいてください。
Invalid argument supplied for foreach()
私はそれを変更しようとしています:
$feed->getElementsByTagName('channel')->item(0)
ただし、出力はありません。
私も試してみました。その後、
$feed->getElementsByTagName('channel')
が、エラーが出ます:
Call to undefined method DOMElement::children()
質問
誰かがDCにアクセスする方法をPHPを使用して、私に言うことができるしてください:作成者タグをとその値を変数に代入しますか?
編集
$i = 1;
foreach ($feed->channel as $row) {
echo $i;
foreach ($row->children() as $key => $val) {
if ($key == "item") {
if ($i == 1) {
$ns_dc = $val->children('http://purl.org/dc/elements/1.1/');
echo $ns_dc->creator;
}
}
}
$i = $i + 1;
}
あなたのために '$ feed-> getElementsByTagName( 'channel')'を使ってください。 – BizzyBob
答えの一番下をご覧ください。それを試したが、エラーが発生しました:未定義のメソッドを呼び出すDOMElement :: children() – JamesG