Php 将SimpleXMLElement对象添加到数组
我有一个数组和对象数组,如下所示。我在添加到这个对象数组时遇到了问题,因为我一直收到一个错误。 以下是目前的情况:Php 将SimpleXMLElement对象添加到数组,php,arrays,object,simplexml,sitemap,Php,Arrays,Object,Simplexml,Sitemap,我有一个数组和对象数组,如下所示。我在添加到这个对象数组时遇到了问题,因为我一直收到一个错误。 以下是目前的情况: SimpleXMLElement Object ( [url] => Array ( [0] => SimpleXMLElement Object ( [loc] => http://jbsoftware.co.uk/ [lastmod] =>
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;
$note=”
{$actual_link}
{$date}
月刊
1
";
$sxe=新的simplexmlement($note);
$page[]=$sxe;
这反过来又给了我这个错误
Fatal error: controller::generateSitemap() [<a href='controller.generatesitemap'>controller.generatesitemap</a>]: Cannot create unnamed attribute
致命错误:控制器::generateSitemap()[]:无法创建未命名属性
有人能告诉我为什么我不能简单地将其添加到当前对象数组的末尾吗?
这个问题真的让我很困惑。
$page
不是一个数组(或者一个没有任何意义的数组对象),而是一个对象(类的一个实例)。所以不能将数组方法用于它。您只能使用
对于您的特殊需要,simpleXMLElement不提供任何方法作为子对象附加其他simpleXMLElement实例。但是,您可以使用该方法逐个元素构建子树:
$url = $page->addChild('url');
$loc = $url->addChild('loc', "{$actual_link}");
$lastmod = $url->addChild('lastmod', "{$date}");
...
$url
、$loc
和$lastmod
都是新的simpleXMLElement实例。simpleXMLElement对象不是数组,它们只是在某些方面表现得像数组。