如何设置现有的SimpleXMLElement属性?

时间:2014-02-03 19:56:22

标签: php xml simplexml

我正在运行以下代码:

$attributes = $xmlTable2->attributes();
foreach ($attributes as $key => $value) {
    $xmlTable1->addAttribute($key, $value);
}

但它会导致错误:

Warning: SimpleXMLElement::addAttribute(): Attribute already exists in ... on line 100
Buildfile: /.../vendor/propel/propel1/generator/build.xml

如何覆盖现有属性的值?

1 个答案:

答案 0 :(得分:2)

最简单的方法是在要获取其属性的元素上使用属于SimpleXML对象一部分的attributes()函数。

$xmlTable1->elementYouWantAttrsFor->attributes()->attrName = newAttrValue;

或者每个$ xmlTable1元素是否是您想要的

$xmlTable1->attributes()->attrName = newAttrValue;

这是documentation。评论显示了如何做到这一点。