获取RSS时为foreach()提供的PHP参数无效
我似乎很难访问RSS提要的一部分。我已经读过这篇文章,但我似乎仍然无法让它发挥作用获取RSS时为foreach()提供的PHP参数无效,php,foreach,rss,Php,Foreach,Rss,我似乎很难访问RSS提要的一部分。我已经读过这篇文章,但我似乎仍然无法让它发挥作用 <item> <title>This is the title</title> <dc:creator>!an (@myHandle)</dc:creator> <description><![CDATA[<p class="TweetTextSize js-tweet-text tweet-text&qu
<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>
但我一直在犯这样的错误:
为foreach()提供的参数无效
我已尝试将其更改为:
$feed->getElementsByTagName('channel')->item(0)
但是没有任何结果
我还尝试:
$feed->getElementsByTagName('channel')
但随后会出现错误:
调用未定义的方法DomeElement::children()
问题:
请有人告诉我,如何使用PHP访问dc:creator标记并将该值分配给变量
编辑
因为您处理的是XML内容,所以我发现使用SimpleXML而不是DOMDocument更容易。由于每个
与频道位于同一块中,因此您可以进行foreach查找项的键
$feed = simplexml_load_file('https://twitrss.me/twitter_search_to_rss/?term=test+this+feed');
foreach ($feed->channel as $row) {
foreach ($row->children() as $key => $val) {
if ($key == "item") {
$ns_dc = $val->children('http://purl.org/dc/elements/1.1/');
echo $ns_dc->creator;
}
}
}
这段代码输出您期望的“creator”字符串。因为您处理的是XML内容,所以我发现使用SimpleXML而不是DOMDocument更容易。由于每个
与频道位于同一块中,因此您可以进行foreach查找项的键
$feed = simplexml_load_file('https://twitrss.me/twitter_search_to_rss/?term=test+this+feed');
foreach ($feed->channel as $row) {
foreach ($row->children() as $key => $val) {
if ($key == "item") {
$ns_dc = $val->children('http://purl.org/dc/elements/1.1/');
echo $ns_dc->creator;
}
}
}
此代码输出您期望的“creator”字符串。看起来您应该在for each中使用$feed->getElementsByTagName('channel')
。请参阅答案的底部。尝试了,但出现了错误:调用未定义的方法DomeElement::children()看起来您应该在for each中使用$feed->getElementsByTagName('channel')
。请查看答案的底部。尝试了它,但出现了错误:调用未定义的方法DomeElement::children()否。我解决了。我只想要最近的。非常感谢。我已经接受了答案和+1。谢谢老兄的快速回复。不。我解决了。我只想要最近的。非常感谢。我已经接受了答案和+1。谢谢老兄的快速回复。
$feed = simplexml_load_file('https://twitrss.me/twitter_search_to_rss/?term=test+this+feed');
foreach ($feed->channel as $row) {
foreach ($row->children() as $key => $val) {
if ($key == "item") {
$ns_dc = $val->children('http://purl.org/dc/elements/1.1/');
echo $ns_dc->creator;
}
}
}