如何使用循环(引用)向对象添加属性(SimpleXMLElement)

时间:2016-11-23 14:36:49

标签: php oop

我有代码检索Object $ xmlContent

中的数据列表
$source = 'http://www.bnm.org/en/official_exchange_rates?get_xml=1&date=23.11.2016';

$xmlString = file_get_contents($source);

$xmlContent = new \SimpleXMLElement($xmlString);

如何通过引用添加属性,就像我们在Array的情况下可以这样做一样?

foreach ($xmlContent as $k => &$v) {
    $v['test_property'] = any_function($v->value);
}

此代码无效,因为我无法通过引用Object来更改和添加任何值。

在这种情况下,如何向对象添加新项目?

2 个答案:

答案 0 :(得分:1)

您可以使用addChild function

$v; // $v is a SimpleXMLElement object
$v->addChild('nodeName', 'nodeContent');

答案 1 :(得分:0)

foreach ($xmlContent as $k => $v) {
    $v->addAttribute('test_property', any_function($v->value));
}