2013-02-13 18 views
0

我有一個對象叫做$ picasa_feed這樣的:訪問的SimpleXML節點的值作爲字符串

SimpleXMLElement Object 
(
    [guid] => https://picasaweb.google.com/data/entry/base/user/0000000000000000/albumid/0000000000000000?alt=rss&hl=en_US 
    [pubDate] => Fri, 12 Dec 2008 20:00:00 +0000 
    [category] => http://schemas.google.com/photos/2007#album 
    [title] => My Pictures 
    [description] => ... 
    [link] => https://picasaweb.google.com/0000000000000000/MyAlbum 
    [author] => Me 
) 

我想借此把一個屬性值到一個關聯數組的元素:

$data_to_save['title'] = $picasa_feed->title; 

當我這樣做,$ data_to_save的值是

Array 
(
    [title] => SimpleXMLElement Object 
     (
      [0] => My Pictures 
     ) 
} 

我要的是

Array 
(
    [title] => My Pictures 
} 

我在做什麼錯,我該如何解決?

回答

0

您想通過將其轉換爲字符串來調用SimpleXMLElement的魔術__toString方法。嘗試:$data_to_save['title'] = (string)$picasa_feed->title;

+0

多虧了你們倆。那樣做了!是否總是需要以這種方式訪問​​對象屬性,還是對SimpleXMLElement特別有用? – George 2013-02-13 21:07:38

+0

訪問對象的屬性將產生屬性所具有的任何數據類型。由於XML的嵌套特性,SimpleXMLElement只是更多SimpleXMLElements(nodes/children/[..])的集合。 – 2013-02-13 21:09:18

1

將它轉換爲字符串:

$data_to_save['title'] = (string) $picasa_feed->title; 
0

這應該工作:

$data_to_save['title'] = (string) $picasa_feed->title;