У меня есть функция ниже.Я хочу добавить поддержку формата времени iso8601, но просто не могу заставить его работать.Так как я в php не могу сделать (string)$tag->iso8601.time
.Есть ли способ получить элемент iso8601.time?tag
является SimpleXMLElement
.
private function _tagToPhpType($tag) {
/*
* <i4> or <int> four-byte signed integer -12
* <boolean> 0 (false) or 1 (true) 1
* <string> string hello world
* <double> double-precision signed floating point number -12.214
* <dateTime.iso8601> date/time 19980717T14:08:55
* <base64> base64-encoded binary eW91IGNhbid0IHJlYWQgdGhpcyE=
*
* Source: http://www.xmlrpc.com/spec
*/
if(!empty($tag->string)) {
return (string)$tag->string;
}
elseif(!empty($tag->int)) {
return (int)$tag->int;
}
elseif(!empty($tag->i4)) {
return (int)$tag->i4;
}
elseif(!empty($tag->boolean)) {
return (bool)$tag->boolean;
}
elseif(!empty($tag->double)) {
return (double)$tag->double;
}
elseif(!empty($tag->base64)) {
// @todo: Decode BASE64
return (int)$tag->base64;
} // @todo: Add iso8601 time type
else {
return (string)$tag;
}
}