Program to demonstrate how to Write an XML file in Java.
1. Create a simple POJO class whose properties needs to be stored in XML file.
2. Create a Java class which will write into XML files through Java API.
Output of the program :
1. Create a simple POJO class whose properties needs to be stored in XML file.
package com.hubberspot.xml.writer;
public class Customer {
private int customerId;
private String customerName;
private String complain;
public Customer(int customerId, String customerName, String complain) {
super();
this.customerId = customerId;
this.customerName = customerName;
this.complain = complain;
}
public int getCustomerId() {
return customerId;
}
public void setCustomerId(int customerId) {
this.customerId = customerId;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public String getComplain() {
return complain;
}
public void setComplain(String complain) {
this.complain = complain;
}
}
2. Create a Java class which will write into XML files through Java API.
package com.hubberspot.xml.writer;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectInputStream.GetField;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
public class XmlWriterTest {
public static void main(String[] args) {
createXmlDocument("C://Customer.xml");
}
private static Customer[] createCustomers() {
Customer [] customers = new Customer[3];
Customer customer1 = new Customer(1, "John Smith", "Internet Connection problem");
Customer customer2 = new Customer(2, "Will Foster", "DTH Service problem");
Customer customer3 = new Customer(3, "Jonty Rhodes", "Set-Top box not working");
customers[0] = customer1;
customers[1] = customer2;
customers[2] = customer3;
return customers;
}
private static void createXmlDocument(String fileInfo) {
XMLOutputFactory factory = XMLOutputFactory.newFactory();
FileOutputStream fos;
XMLStreamWriter writer = null;
try {
fos = new FileOutputStream(fileInfo);
writer = factory.createXMLStreamWriter(fos, "UTF-8");
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (XMLStreamException e) {
e.printStackTrace();
}
writeToDocument(writer);
}
private static void writeToDocument(XMLStreamWriter writer) {
try {
writer.writeStartDocument();
writer.writeCharacters("\n");
writer.writeStartElement("customers");
writer.writeCharacters("\n");
for(Customer customer : createCustomers()) {
writer.writeCharacters("\t");
writer.writeStartElement("customer");
writer.writeAttribute("id", String.valueOf(customer.getCustomerId()));
writer.writeCharacters("\n\t\t");
writer.writeStartElement("name");
writer.writeCharacters(customer.getCustomerName());
writer.writeEndElement();
writer.writeCharacters("\n\t\t");
writer.writeStartElement("complain");
writer.writeCharacters(customer.getComplain());
writer.writeEndElement();
writer.writeCharacters("\n\t");
writer.writeEndElement();
writer.writeCharacters("\n");
}
writer.writeEndElement();
writer.writeEndDocument();
writer.close();
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
}
Output of the program :
