我有一个 XML 文件和一个变量。我想编写一个函数来替换特定节点的值。例子:
write_xml("->system_settings->settings->hostname",'Helloooooooo');
function write_xml($tag_address, $value) {
$xml = simplexml_load_file("test.xml")
or die("Error: Cannot create object");
$xml->system_settings->settings->hostname = $value;
$xml->asXML("test.xml");
}
在此示例中,节点->system_settings->settings
ifhelloooooo
应替换为hostname
.
我的问题是:在上面的代码中,我手动输入了路径并且它可以工作。但是如果我动态分配我的路径(如下所示),它就不起作用:
write_xml("->system_settings->settings->hostname",'Helloooooooo');
function write_xml($tag_address, $value) {
...
$xml->$tag_address = $value; // <---- doesn't work
$xml->asXML("test.xml");
}
我应该怎么办?