2015-02-09 220 views
2

我擁有和對象數組,如下所示。我無法添加到此對象數組,因爲我不斷收到錯誤。 這裏是如何在當下:將SimpleXMLElement對象添加到數組中

SimpleXMLElement Object 
(
    [url] => Array 
    (
     [0] => SimpleXMLElement Object 
      (
       [loc] => http://jbsoftware.co.uk/ 
       [lastmod] => 2015-02-02 
       [changefreq] => monthly 
       [priority] => 1.0 
      ) 
    ) 
) 

現在加入到這個月底我做了以下內容:

$note=" 
    <url> 
     <loc>{$actual_link}</loc> 
     <lastmod>{$date}</lastmod> 
     <changefreq>monthly</changefreq> 
     <priority>1.0</priority> 
    </url> 
    "; 
    $sxe = new SimpleXMLElement($note); 
    $page[] = $sxe; 

而這又爲我提供了這個錯誤....

Fatal error: controller::generateSitemap() [<a href='controller.generatesitemap'>controller.generatesitemap</a>]: Cannot create unnamed attribute 

任何人都可以請讓我知道爲什麼我不能簡單地將其添加到當前對象數組的末尾? 這一個真的讓我難住。

+0

SimpleXMLElement對象_不是數組_,它們的行爲就像數組_在某些方面_。 – CBroe 2015-02-09 13:42:38

回答

1

$page不是一個數組(或一個數組對象,它不會意味着什麼),它是一個對象(類的一個實例)。所以你不能使用它的數組方法。您只能使用available simpleXMLElement class methods

爲了您的特殊需要,simpleXMLElement不提供任何方法將其他simpleXMLElement實例作爲子項追加。但是你可以用addChild方法,通過元素打造的子樹元素:

$url = $page->addChild('url'); 
$loc = $url->addChild('loc', "{$actual_link}"); 
$lastmod = $url->addChild('lastmod', "{$date}"); 
... 

$url$loc$lastmod是新的SimpleXMLElement實例。

+0

正是我所需要的,謝謝,完美的作品 – jburley89 2015-02-09 13:58:13