Вы можете использовать приведенное ниже, чтобы получить желаемый результат:
ЛЕГКИЙ МЕТОД
blockquote>SELECT TOP 1 c.year FROM coach AS c INNER JOIN team AS t ON c.team = t.team AND c.year = t.year WHERE t.worldcupwin = 'Y' ORDER BY c.wins DESC;
Не могли бы вы использовать importNode ()
для копирования дочерних узлов вашего элемента
во вновь созданный
element?
function changeName($node, $name) {
$newnode = $node->ownerDocument->createElement($name);
foreach ($node->childNodes as $child){
$child = $node->ownerDocument->importNode($child, true);
$newnode->appendChild($child, true);
}
foreach ($node->attributes as $attrName => $attrNode) {
$newnode->setAttribute($attrName, $attrNode);
}
$newnode->ownerDocument->replaceChild($newnode, $node);
return $newnode;
}
$domElement = changeName($domElement, 'person');
Возможно, что-то подобное сработает, или вы можете попробовать использовать cloneChild ()
.
Редактировать: На самом деле, я только что понял, что исходная функция потеряет расположение узла. В соответствии с вопросом, с которым связан thomasrutter, следует использовать replaceChild ()
.