El siguiente trozo de código genera un fichero XML llamado salida_empleados.xml que contiene los datos de un empleado ficticio (nombre, apellidos y DNI):
try { DocumentBuilderFactory fábricaCreadorDocumento = DocumentBuilderFactory.newInstance(); DocumentBuilder creadorDocumento = fábricaCreadorDocumento.newDocumentBuilder(); //Crear un nuevo documento XML Document documento = creadorDocumento.newDocument(); //Crear el nodo raíz y colgarlo del documento Element elementoRaiz = documento.createElement("EMPLEADOS"); documento.appendChild(elementoRaiz); //Crear un elemento EMPLEADO colgando de EMPLEADOS Element elementoEmpleado = documento.createElement("EMPLEADO"); elementoRaiz.appendChild(elementoEmpleado); //Crear cada uno de los textos de datos del empleado Element elementoNombre = documento.createElement("NOMBRE"); elementoEmpleado.appendChild(elementoNombre); Text textoNombre = documento.createTextNode("NURIA"); elementoNombre.appendChild(textoNombre); Element elementoApellidos = documento.createElement("APELLIDOS"); elementoEmpleado.appendChild(elementoApellidos); Text textoApellidos = documento.createTextNode("NAVARRO FLORES"); elementoApellidos.appendChild(textoApellidos); Element elementoDNI = documento.createElement("DNI"); elementoEmpleado.appendChild(elementoDNI); Text textoDNI = documento.createTextNode("4753120E"); elementoDNI.appendChild(textoDNI); //Generar el tranformador para obtener el documento XML en un fichero TransformerFactory fábricaTransformador = TransformerFactory.newInstance(); Transformer transformador = fábricaTransformador.newTransformer(); //Insertar saltos de línea al final de cada línea transformador.setOutputProperty(OutputKeys.INDENT, "yes"); //Añadir 3 espacios delante, en función del nivel de cada nodo transformador.setOutputProperty(OutputPropertiesFactory.S_KEY_INDENT_AMOUNT, "3"); Source origen = new DOMSource(documento); Result destino = new StreamResult("salida_empleados.xml"); transformador.transform(origen, destino); } catch (ParserConfigurationException ex) { System.out.println("ERROR: No se ha podido crear el generador de documentos XML\n"+ex.getMessage()); ex.printStackTrace(); } catch (TransformerConfigurationException ex) { System.out.println("ERROR: No se ha podido crear el transformador del documento XML\n"+ex.getMessage()); ex.printStackTrace(); } catch (TransformerException ex) { System.out.println("ERROR: No se ha podido crear la salida del documento XML\n"+ex.getMessage()); ex.printStackTrace(); }
El fichero resultante tiene el siguiente contenido:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <EMPLEADOS> <EMPLEADO> <NOMBRE>NURIA</NOMBRE> <APELLIDOS>NAVARRO FLORES</APELLIDOS> <DNI>4753120E</DNI> </EMPLEADO> </EMPLEADOS>