我需要帮助才能从rss中获取所有类别。 这是前。我的RSS饲料:
<item>
<title>Coca-Cola</title>
<link>https://www.tralaaa.com/coca-cola/</link>
<comments></comments>
<pubDate>Fri, 01 Dec 2017 11:36:40 +0000</pubDate>
<dc:creator><![CDATA[Admin]]></dc:creator>
<category><![CDATA[cat1]]></category>
<category><![CDATA[cat2]]></category>
<category><![CDATA[cat3]]></category>
<category><![CDATA[cat4]]></category>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[]]></content:encoded>
</item>
我尝试$cat = $item->category(0);
但是给我错误
调用未定义的方法SimpleXMLElement :: category()
答案 0 :(得分:0)
您无法使用()
括号访问类别,您需要使用[]
,如下所示:
$xml = new SimpleXMLElement(
'<item>
<title>Coca-Cola</title>
<link>https://www.tralaaa.com/coca-cola/</link>
<comments></comments>
<pubDate>Fri, 01 Dec 2017 11:36:40 +0000</pubDate>
<dc:creator><![CDATA[Admin]]></dc:creator>
<category><![CDATA[cat1]]></category>
<category><![CDATA[cat2]]></category>
<category><![CDATA[cat3]]></category>
<category><![CDATA[cat4]]></category>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[]]></content:encoded>
</item>');
$cat_name1 = $xml->category[0]->__toString();
$cat_name2 = $xml->category[1]->__toString();
$cat_name3 = $xml->category[2]->__toString();
$cat_name4 = $xml->category[3]->__toString();
echo "<pre>";
print_r($cat_name1);
echo "</pre>";
echo "<pre>";
print_r($cat_name2);
echo "</pre>";
echo "<pre>";
print_r($cat_name3);
echo "</pre>";
echo "<pre>";
print_r($cat_name4);
echo "</pre>";
这将输出:
你可以:
$xml->category->__toString();
它会假设您想要第一个类别。