public boolean escribir_Datos(Datos_DTO datos_nuevos) { boolean valido = true; try { // LEEMOS EL XML Y SE CREA LA ESTRUCTURA DOM DocumentBuilderFactory fact_dom = DocumentBuilderFactory.newInstance(); DocumentBuilder lector = fact_dom.newDocumentBuilder(); // OBTENEMOS EL OBJETO QUE TIENE SU CONTENIDO PARA MODIFICARLO Document documento_DOM = lector.parse(this.getClass().getResource("/com/atrium/vista/datos.xml").getFile()); // COGEMOS LA ETIQUETA QUE CONTIENE EL ATRIBUTO A CAMBIAR Node elemento_xml = documento_DOM.getElementsByTagName("nombre").item(0); elemento_xml.setTextContent(datos_nuevos.getNombre()); elemento_xml = documento_DOM.getElementsByTagName("apellido").item(0); elemento_xml.setTextContent(datos_nuevos.getApellido()); elemento_xml = documento_DOM.getElementsByTagName("calle").item(0); elemento_xml.setTextContent(datos_nuevos.getCalle()); elemento_xml = documento_DOM.getElementsByTagName("ciudad").item(0); elemento_xml.setTextContent(datos_nuevos.getCiudad()); // ESCRIBIMOS EL DOCUMENTO MODIFICADO TransformerFactory fact = TransformerFactory.newInstance(); Transformer flujo_escritura = fact.newTransformer(); // QUE CONTENIDO VAMOS A ESCRIBIR DOMSource entrada_datos = new DOMSource(documento_DOM); // DONDE LO VAMOS A ESCRIBIR StreamResult apuntador = new StreamResult(this.getClass().getResource("/com/atrium/vista/datos.xml").getFile()); // ESCRIBIMOS flujo_escritura.transform(entrada_datos, apuntador); } catch (Exception e) { valido = false; } return valido; }