2017-12-02 148 views
0

嗨,我需要帮助,以获得rss的所有类别。 这是前。我的RSS提要的:从wordpress获取类别rss [php]

<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 ::类别()

+0

在这种情况下,只给我第一类.. – Martinovska

回答

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>"; 

这将输出:

enter image description here

你可以:

$xml->category->__toString(); 

它会假设你想第一类。