2011-09-09 18 views
0

我想獲得基於谷歌聯繫人「事件」(即:週年紀念etct)的信息,「他們似乎將它們引用爲'事件'」。谷歌聯繫人API - 選擇事件數據

所以無所謂。我已經能夠以縮短的清理格式獲得一些數據。 這是我正在使用以獲取此信息的XML。

[13] => Zend_Gdat

a_App_Extension_Element Object 
     (
      [_rootElement:protected] => event 
      [_extensionElements:protected] => Array 
       (
        [0] => Zend_Gdata_App_Extension_Element Object (
          [_rootElement:protected] => when 
          [_extensionAttributes:protected] => Array (
            [startTime] => Array (
              [namespaceUri] => 
              [name] => startTime 
              [value] => 2009-05-09)) 
          [_text:protected] => 
         ) 
       ) 

      [_extensionAttributes:protected] => Array (
        [rel] => Array (
          [namespaceUri] => 
          [name] => rel 
          [value] => anniversary)) 
      [_text:protected] => 
     ) 

所以我做了什麼,以獲取事件的類型我使用此代碼爲止。

// Get All Events 
foreach ($xml->event as $e) {      
    if($e['rel'] == "anniversary") { 
     // echo "This is true, this is anniversary"; 
    } 
} 

並獲取實際的事件值(開始時間)。我想我會用這樣的東西在每個循環內運行。

foreach ($xml->event as $e) {      
    echo $e->when['startTime']; 
} 

但是,這只是回聲的NULL。 我嘗試了很多變化,似乎無法得到它,雖然我不確定是否只是由於我的過度疲勞。任何幫助將不勝感激!

回答

0

我能找到解決方案。

// Get All Events 
foreach ($xml->event as $e) { 
    $defaults = $e->children('http://schemas.google.com/g/2005'); 

    if($e['rel'] == "anniversary") { 
     $obj->anniversary = (string) $defaults->when->attributes()->startTime; 
    } 
}