Exportar e importar do xml

2 respostas
C

Como faça para ler o quando salvo em xml

2 Respostas

C

package Pessoa;

import java.io.File;

import java.io.IOException;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerConfigurationException;

import javax.xml.transform.TransformerException;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;

/**
*

  • @author cassi
    */
    public class Pessoa extends javax.swing.JFrame {

    private DocumentBuilder builder;
    
    private DocumentBuilderFactory factory;
    
    private Document docXML;
    
    private TransformerFactory transformerFactory;
    
    private Transformer transformer;
    
    private DOMSource documentoFonte;
    
    private StreamResult documentoFinal;
    
    private Object buffRead;
    

    /**

    • Creates new form Pessoa
      */
      public Pessoa() {
      initComponents();
      try {
      listarPessoa();
      } catch (ParserConfigurationException ex) {
      Logger.getLogger(Pessoa.class.getName()).log(Level.SEVERE, null, ex);
      }

    }

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      
      */
      
      @SuppressWarnings(unchecked)
      
      // 
      
      private void initComponents() {
      
      jPanel1 = new javax.swing.JPanel();
      
      jLabelNome = new javax.swing.JLabel();
      
      jLabelData = new javax.swing.JLabel();
      
      jLabelCpf = new javax.swing.JLabel();
      
      jLabelEmail = new javax.swing.JLabel();
      
      jButtonSalvar = new javax.swing.JButton();
      
      jTextFieldNome = new javax.swing.JTextField();
      
      jTextFieldData = new javax.swing.JTextField();
      
      jTextFieldCpf = new javax.swing.JTextField();
      
      jTextFieldEmail = new javax.swing.JTextField();
      
      jScrollPane1 = new javax.swing.JScrollPane();
      
      jTablePessoa = new javax.swing.JTable();
      

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      jLabelNome.setText(“Nome:”);

      jLabelData.setText(“Data de Nascimento:”);

      jLabelCpf.setText(“CPF:”);

      jLabelEmail.setText(“Email:”);

      jButtonSalvar.setText(Salvar);
      
      jButtonSalvar.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      jButtonSalvarActionPerformed(evt);
      
      }
      
      });
      
      jTextFieldNome.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      jTextFieldNomeActionPerformed(evt);
      
      }
      
      });
      
      jTextFieldData.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      jTextFieldDataActionPerformed(evt);
      
      }
      
      });
      
      jTextFieldEmail.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      jTextFieldEmailActionPerformed(evt);
      
      }
      
      });
      

      jTablePessoa.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][] {

      },
       new String [] {
           "Nome", "Data", "Cpf", "Email"
       }
      
      ));
      
      jTablePessoa.addKeyListener(new java.awt.event.KeyAdapter() {
      
      public void keyPressed(java.awt.event.KeyEvent evt) {
      
      jTablePessoaKeyPressed(evt);
      
      }
      
      });
      
      jScrollPane1.setViewportView(jTablePessoa);
      
      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      
      jPanel1.setLayout(jPanel1Layout);
      
      jPanel1Layout.setHorizontalGroup(
      
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(jPanel1Layout.createSequentialGroup()
      
      .addGap(32, 32, 32)
      
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(jLabelEmail)
      
      .addComponent(jLabelCpf)
      
      .addComponent(jLabelData)
      
      .addComponent(jLabelNome)
      
      .addComponent(jTextFieldNome, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
      
      .addComponent(jTextFieldData, javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(jTextFieldCpf, javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(jTextFieldEmail, javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(jButtonSalvar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 39, Short.MAX_VALUE)
      
      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE))
      
      );
      
      jPanel1Layout.setVerticalGroup(
      
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(jPanel1Layout.createSequentialGroup()
      
      .addContainerGap()
      
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      
      .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 301, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addGroup(jPanel1Layout.createSequentialGroup()
      
      .addComponent(jLabelNome)
      
      .addGap(2, 2, 2)
      
      .addComponent(jTextFieldNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      
      .addComponent(jLabelData)
      
      .addGap(7, 7, 7)
      
      .addComponent(jTextFieldData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      
      .addComponent(jLabelCpf)
      
      .addGap(5, 5, 5)
      
      .addComponent(jTextFieldCpf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      
      .addComponent(jLabelEmail)
      
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      
      .addComponent(jTextFieldEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addGap(18, 18, 18)
      
      .addComponent(jButtonSalvar)
      
      .addGap(42, 42, 42)))
      
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      
      );
      
      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      
      getContentPane().setLayout(layout);
      
      layout.setHorizontalGroup(
      
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addGap(0, 0, Short.MAX_VALUE))
      
      );
      
      layout.setVerticalGroup(
      
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      
      .addContainerGap())
      
      );
      

      pack();
      }//

    private void jTextFieldNomeActionPerformed(java.awt.event.ActionEvent evt) {
    
    // TODO add your handling code here:
    
    }
    
    private void jTextFieldDataActionPerformed(java.awt.event.ActionEvent evt) {
    
    // TODO add your handling code here:
    
    }
    
    private void jTextFieldEmailActionPerformed(java.awt.event.ActionEvent evt) {
    
    // TODO add your handling code here:
    
    }
    
    private void jTablePessoaKeyPressed(java.awt.event.KeyEvent evt) {
    
    if (evt.getKeyCode() == 127) {
    
    if (JOptionPane.showConfirmDialog(null, Confime!) == 0) {
    
    DefaultTableModel tabela;
    
    tabela = (DefaultTableModel) jTablePessoa.getModel();
    
    tabela.removeRow(jTablePessoa.getSelectedRow());
    
    } else {
    
    JOptionPane.showMessageDialog(null, Favor selecionar uma linha);
    
    }
    
    }
    
    }
    

    private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {

    }

C
/**

* @param args the command line arguments

<em>/

public static void main(String args[]) {

/</em> Set the Nimbus look and feel <em>/

//

/</em> If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see <a href="http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html">http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html</a>

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if (“Nimbus”.equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Pessoa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//
//</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(() -> {
        new Pessoa().setVisible(true);
    });
}

public void listarPessoa() throws ParserConfigurationException {
    factory = DocumentBuilderFactory.newInstance();
    builder = factory.newDocumentBuilder();
    try {
        docXML = builder.parse("pessoas.xml");
        Element pessoas = docXML.getDocumentElement();
        NodeList pessoaList = pessoas.getElementsByTagName("pessoa");
        DefaultTableModel tabela = (DefaultTableModel) jTablePessoa.getModel();
        for (int i = 0; i < pessoaList.getLength(); i++) {
            Element nodePessoa = (Element) pessoaList.item(i);
            NodeList nomeNode = nodePessoa.getElementsByTagName("nome");
            Node nodeNome = nomeNode.item(0).getFirstChild();

            NodeList dataNascNode = nodePessoa.getElementsByTagName("data_nasc");
            Node nodeData = dataNascNode.item(0).getFirstChild();

            NodeList cpfNode = nodePessoa.getElementsByTagName("cpf");
            Node nodeCpf = cpfNode.item(0).getFirstChild();

            NodeList emailNode = nodePessoa.getElementsByTagName("email");
            Node nodeEmail = emailNode.item(0).getFirstChild();

            tabela.addRow(new Object[]{
                nodeNome.getTextContent(),
                nodeData.getTextContent(),
                nodeEmail.getTextContent(),
                nodeCpf.getTextContent()}
            );
        }

    } catch (SAXException | IOException ex) {
        JOptionPane.showMessageDialog(null, "FALHA : " + ex.getMessage());
    }

}




// Variables declaration - do not modify                     
private javax.swing.JButton jButtonSalvar;
private javax.swing.JLabel jLabelCpf;
private javax.swing.JLabel jLabelData;
private javax.swing.JLabel jLabelEmail;
private javax.swing.JLabel jLabelNome;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTablePessoa;
private javax.swing.JTextField jTextFieldCpf;
private javax.swing.JTextField jTextFieldData;
private javax.swing.JTextField jTextFieldEmail;
private javax.swing.JTextField jTextFieldNome;
// End of variables declaration

}

Criado 8 de dezembro de 2017
Ultima resposta 8 de dez. de 2017
Respostas 2
Participantes 1