Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package it.cefi.view;
- import java.awt.BorderLayout;
- import java.awt.GridLayout;
- import java.io.File;
- import javax.swing.BoxLayout;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import javax.xml.parsers.*;
- import javax.xml.transform.TransformerException;
- import org.w3c.dom.Attr;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import javax.xml.transform.Transformer;
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.dom.DOMSource;
- import javax.xml.transform.stream.StreamResult;
- @SuppressWarnings("serial")
- public class DOMParser extends JFrame {
- public static final String xmlFilePath = "C:\\Users\\utente\\Desktop\\peoples.xml";
- public DOMParser() {
- JFrame mainFrame = new JFrame("DOMParser");
- mainFrame.setLayout(new BoxLayout(mainFrame.getContentPane(), BoxLayout.PAGE_AXIS));
- JPanel upperPanel = new JPanel();
- upperPanel.setLayout(new GridLayout(0, 2,5,5));
- JPanel lowerPanel = new JPanel();
- lowerPanel.setLayout(new BoxLayout(lowerPanel, BoxLayout.LINE_AXIS));
- JLabel personIdLabel = new JLabel("PersonID");
- JLabel firstNameLabel = new JLabel("FirstName");
- JLabel lastNameLabel = new JLabel("LastName");
- JTextField personIdText = new JTextField();
- JTextField firstNameText = new JTextField();
- JTextField lastNameText = new JTextField();
- JButton xmlButton = new JButton("Create XML");
- upperPanel.add(personIdLabel);
- upperPanel.add(personIdText);
- upperPanel.add(firstNameLabel);
- upperPanel.add(firstNameText);
- upperPanel.add(lastNameLabel);
- upperPanel.add(lastNameText);
- lowerPanel.add(xmlButton, BorderLayout.WEST);
- mainFrame.add(upperPanel);
- mainFrame.add(lowerPanel);
- mainFrame.setSize(400, 225);
- mainFrame.setLocationRelativeTo(null);
- mainFrame.setVisible(true);
- xmlButton.addActionListener(e -> {
- try {
- DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
- Document document = documentBuilder.newDocument();
- Element root = document.createElement("people");
- document.appendChild(root);
- Element personId = document.createElement("person");
- root.appendChild(personId);
- Attr attr = document.createAttribute("id");
- attr.setValue(personIdText.getText().toString());
- personId.setAttributeNode(attr);
- Element firstName = document.createElement("firstname");
- firstName.appendChild(document.createTextNode(firstNameText.getText().toString()));
- personId.appendChild(firstName);
- Element lastname = document.createElement("lastname");
- lastname.appendChild(document.createTextNode(lastNameText.getText().toString()));
- personId.appendChild(lastname);
- //Transformer e Factory sono due design partner
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- DOMSource domSource = new DOMSource(document);
- StreamResult streamResult = new StreamResult(new File(xmlFilePath));
- transformer.transform(domSource, streamResult);
- firstNameText.setText(null);
- personIdText.setText(null);
- lastNameText.setText(null);
- } catch (ParserConfigurationException | TransformerException pce) {
- pce.printStackTrace();
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement