DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Egbert has posted 3 posts at DZone. View Full User Profile

Replace Node In XML

07.27.2010
| 5647 views |
  • submit to reddit
        // replaces a node with a new (textual node)
// @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);
	}
}