As you did get the attributes:
NamedNodeMap nnm = nodes.item(i).getAttributes();
and you added these attributes to the new element,
You should get the children of nodes.item(i)
and set them in the new node.
You can use for ex.:
neu.addContent(nodes.item(i).getChildren());