Изменение имени узла xml-узла с помощью Java

У меня есть следующий сценарий: у меня есть XML-документ, например, как это



    
    
    


Теперь хочу родителяtag1 быть названнымreallyCoolTag без потери дочерних узлов. Я попробовал следующее, но это, к сожалению, нене работает так, как мне хотелось бы (но я знаю, почему, потому что, по-моему, чего-то не хватает):

// the new element:
Element neu = doc.createElement( newValue );
// append it to the root:
root.appendChild( neu );
// get all the child nodes:
NamedNodeMap nnm = nodes.item(i).getAttributes();
for( int dg = 0; dg < nnm.getLength(); dg++ ){
    neu.setAttribute(  nnm.item( dg ).getNodeName(),
    nnm.item( dg ).getNodeValue() );
}
//---------------------------------------------------------
// HERE I GUESS I AM MISSING THE PART WHERE THE CHILD NODES
// ARE BEING APPENDED TO THE NEW NODE?????
//---------------------------------------------------------
// nodes.item(i) := the old value (nodes := is a NodeList
root.replaceChild( neu, nodes.item(i));
TransformerFactory tFactory     = TransformerFactory.newInstance();
Transformer transformer         = tFactory.newTransformer();
DOMSource source                = new DOMSource( doc );
StreamResult result         = new StreamResult( xml );
transformer.transform( source, result );
nodes.item( i ).getParentNode().removeChild( nodes.item(i) );

Теперь это работает в определенной степени, как я уже говорил, я думаю, что мне не хватает той части, где дочерние узлы добавляются, но я действительно хотел знать, есть ли действительно короткий способ переименовать родительский узел без приходится копировать все и заменять все это?

Спасибо заранее !!!

Ответы на вопрос(5)

Ваш ответ на вопрос