我试图获得基于谷歌联系人的信息"事件"(即:周年纪念等)"他们似乎把它们称为‘事件’"。
所以毫无例外。我已经能够以缩短的清理格式获得一些数据。这是我用来获取这些信息的XML。
[13] => zend_gat
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";
}
}
获取实际事件值(起始时间)。我想我应该在for循环中使用这样的代码。
foreach ($xml->event as $e) {
echo $e->when['startTime'];
}
但是这只是回显NULL。我尝试了很多变化,但似乎都不能得到它,尽管我不确定这是否仅仅是因为我太累了。任何帮助将非常感激!
我找到了一个解决方案。
// 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;
}
}