0
如何重命名DOMDocument中的XML节点?在编写新节点之前,我想在XML文件中对节点进行备份。我有这个代码,我想将URLS节点重命名为URLS_BACKUP。在PHP中重命名XML DOM节点
function backup_urls($nodeid) {
$dom = new DOMDocument();
$dom->load('communities.xml');
$dom->formatOutput = true;
$dom->preserveWhiteSpace = true;
// get document element
$xpath = new DOMXPath($dom);
$nodes = $xpath->query("//COMMUNITY[@ID='$nodeid']");
if ($nodes->length) {
$node = $nodes->item(0);
$xurls = $xpath->query("//COMMUNITY[@ID='$nodeid']/URLS");
if ($xurls->length) {
/* rename URLS to URLS_BACKUP */
}
}
$dom->save('communities.xml');
}
XML文件具有这种结构。
<?xml version="1.0" encoding="ISO-8859-1"?>
<COMMUNITIES>
<COMMUNITY ID="c000002">
<NAME>ID000002</NAME>
<TOP>192</TOP>
<LEFT>297</LEFT>
<WIDTH>150</WIDTH>
<HEIGHT>150</HEIGHT>
<URLS>
<URL ID="u000002">
<NAME>Facebook.com</NAME>
<URLC>http://www.facebook.com</URLC>
</URL>
</URLS>
</COMMUNITY>
</COMMUNITIES>
谢谢。
必须使用replaceNode但你必须创建新的节点URL_BACKUP和克隆矿石副本的所有儿童在此节点表格前URLC – ZigZag
@ user900898所以唯一的办法就是使节点的新副本,所有这一切嵌套在它。没有重命名。我必须复制然后删除,如果我想删除旧的节点。谢谢。 – user823527