// @Node node - the node (or Document) you want to replace.
// @nodeToReplace - the node you want to replace
// @replacementNode - the node you want to replace it with!
private static void replaceNodeWithString(Node node, Node nodeToReplace, Node replacementNode) { NodeList nodeList = node.getChildNodes(); for(int i=0; i < nodeList.getLength(); i++){ Node childNode = nodeList.item(i); if(childNode.getNodeName().equals(nodeToReplace.getNodeName())){ Element parentElement = (Element)childNode.getParentNode(); parentElement.insertBefore(replacementNode, childNode); childNode.getParentNode().removeChild(childNode); parentElement.normalize(); i--; } replaceNodeWithString(childNode, nodeToReplace, replacementNode); } }