import javax.xml.parsers.*; import org.w3c.dom.*; import java.util.*; import java.io.*; import javax.xml.transform.*; import javax.xml.transform.stream.*; import javax.xml.transform.dom.*; import org.apache.xalan.serialize.Serializer; import org.apache.xalan.serialize.SerializerFactory; import org.apache.xalan.templates.OutputProperties; public class AddRecord4 { public static void main(String[] args) { //System.out.println("Hello World!"); String name="fancy"; DocumentBuilder parser; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { parser = factory.newDocumentBuilder(); Document doc = parser.parse("user.xml"); Element newlink=doc.createElement(name); doc.getDocumentElement().appendChild(newlink); outputDoc(doc); } catch (Exception e) { //to do it } } public static void outputDoc (Document doc) { DOMSource domSource = new DOMSource (doc); //Input. Document is an extended class of Node, and therefore can //be used here. DOMResult domResult = new DOMResult(); // Output. try { TransformerFactory tf=TransformerFactory.newInstance(); // Get a TransformerFactory. Transformer t=tf.newTransformer (); // Make a new Transformer from it Properties properties = t.getOutputProperties(); properties.setProperty(OutputKeys.ENCODING,"GB2312"); //properties.setProperty(OutputKeys.METHOD,"html"); //properties.setProperty(OutputKeys.VERSION,"4.0"); //properties.setProperty(OutputKeys.INDENT,"no"); t.setOutputProperties(properties); t.transform(domSource,domResult); Serializer serializer = SerializerFactory.getSerializer (OutputProperties.getDefaultMethodProperties("xml")); Properties prop=serializer.getOutputFormat(); prop.setProperty("encoding","GB2312"); //prop.list(System.out); serializer.setOutputFormat(prop); File f = new File ("xuser4.xml"); FileOutputStream fos=new FileOutputStream(f); serializer.setOutputStream(fos); serializer.asDOMSerializer().serialize(domResult.getNode()); } catch (Exception tce) { tce.printStackTrace(); } } }