2012-10-17 110 views

回答

3

嘗試這樣的:

$feedUrl = 'http://www.trumba.com/calendars/vd.rss?mixin=236393%2c236288'; 
$rawFeed = file_get_contents($feedUrl); 
$xml = new SimpleXmlElement($rawFeed); 

$ns = $xml->getNamespaces(true); 

//print_r($ns); 
$xCal = $xml->channel->children($ns['xCal']); 
echo ($xCal->version)."<br />"; 

foreach($xml->channel->item as $item) 
{ 
    //print_r($item); 
    $itemxTrumba=$item->children($ns['x-trumba']); 
    echo $itemxTrumba->masterid."<br />"; 
} 
//print_r($xCal); 
+2

假設你使用PHP 5.2或更高版本(你爲什麼不成爲';?)'),你不需要浪費時間與命名空間數組,只需將'true'作爲第二個參數傳遞給' - > children'並直接使用前綴(例如'$ item-> children('x-trumba',true) - > masterid')。 – IMSoP

0

的 「定製的東西」 是一個XML命名空間。搜索關於SimpleXML和名稱空間的現有答案。

基本上,你需要什麼是->children()方法:$item->children('xCal', true)->dtStart