2017-12-02 151 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(); 

它會假設你想第一類。