从Xml String重写现有属性值?

时间:2014-05-30 01:39:39

标签: xml xmlwriter

是否可以从XML String重写现有属性?

如果我有:

$xml_str = "<Root>
    <NodeA attr1="value1"></NodeA>
</Root>";

//rewrite $xml_str

如何找到NodeA并同时重写value1?

// finally save xml string into a physical path
file_put_contents($xml_save_path.DS.$xml_filename, $xml_str);

1 个答案:

答案 0 :(得分:1)

您可以使用SimpleXML在PHP中解析XML。

这是一个简化版本,它将为您提供value1并替换为value2,然后回显新XML。

$xml_str = "<Root>
    <NodeA attr1='value1'></NodeA>
</Root>";

$doc = simplexml_load_string($xml_str);

$doc->NodeA['attr1'] = 'value2';

echo $doc->asXML();