Java tutorial
//package com.java2s; /******************************************************************************* * I N T E L C O R P O R A T I O N * * Functional Group: Fabric Viewer Application * * File Name: XMLUtils.java * * Archive Source: $Source$ * * Archive Log: $Log$ * Archive Log: Revision 1.3 2015/08/17 18:49:02 jijunwan * Archive Log: PR 129983 - Need to change file header's copyright text to BSD license txt * Archive Log: - change backend files' headers * Archive Log: * Archive Log: Revision 1.2 2015/03/13 14:29:17 jijunwan * Archive Log: improved to have consistent xml format when we add, remove or replace an Application, Device Group, or Virtual Fabric node. * Archive Log: improved to add comments to indicate the change was made by FM GUI and also the time we change it * Archive Log: * Archive Log: Revision 1.1 2015/03/05 17:30:37 jijunwan * Archive Log: init version to support Application management * Archive Log: 1) read/write opafm.xml from/to host with backup file support * Archive Log: 2) Application parser * Archive Log: 3) Add/remove and update Application * Archive Log: 4) unique name, reference conflication check * Archive Log: * * Overview: * * @author: jijunwan * ******************************************************************************/ import java.util.Date; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { public static void replaceNode(Document doc, Node parent, Node oldNode, Node newNode) { Node comment = doc.createComment(" Updated by FM GUI @ " + (new Date()) + " "); parent.insertBefore(comment, oldNode); parent.replaceChild(newNode, oldNode); formatNode(doc, parent, newNode); } private static void formatNode(Document doc, Node parent, Node node) { Node txt = doc.createTextNode("\n "); parent.insertBefore(txt, node); NodeList children = node.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { txt = doc.createTextNode("\n "); node.insertBefore(txt, children.item(i)); i += 1; } txt = doc.createTextNode("\n "); node.appendChild(txt); } }