将 SimpleXMLElement 对象添加到数组
Add SimpleXMLElement Object to Array
我有如下所示的对象数组。我在添加到这个对象数组时遇到了问题,因为我不断收到错误消息。
这是目前的情况:
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
谁能告诉我为什么我不能简单地将其添加到当前对象数组的末尾?
这个真的把我难住了。
$page
不是一个数组(或者一个没有任何意义的数组对象),它是一个对象(class 的一个实例)。所以你不能对它使用数组方法。您只能使用 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 实例。
我有如下所示的对象数组。我在添加到这个对象数组时遇到了问题,因为我不断收到错误消息。 这是目前的情况:
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
谁能告诉我为什么我不能简单地将其添加到当前对象数组的末尾? 这个真的把我难住了。
$page
不是一个数组(或者一个没有任何意义的数组对象),它是一个对象(class 的一个实例)。所以你不能对它使用数组方法。您只能使用 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 实例。