Esempio n. 1
0
  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;
  }