Hi all. I need some help. So far I have installed mysql database on my computer(ubuntu 12.04), this database is successfully acting as an external database to our device(debian based with working local database) and it is storing data in its table. I have written a code in java which is connecting to external database and creating an xml file successfully. Following is the code for that;

package test123;

import java.sql.*;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
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.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
*
* @author root
*/
public class Test123 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try{


System.out.println("Hello SQL");

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/MeshliumDB","root","root");
PreparedStatement statement = con.prepareStatement("select * from wifiScan");
ResultSet result = statement.executeQuery();

//while(result.next())
// System.out.println(result.getString(1)+" "+result.getString(2)+" "+result.getString(3)+" "+result.getString(4)+" "+result.getString(5)+" "+result.getString(6));

try {

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

// root elements
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("MeshliumDB");
doc.appendChild(rootElement);

while(result.next()){
Element DB_ID = doc.createElement("DB_ID");
//DB_ID.appendChild(doc.createTextNode(result.getString(1)));
rootElement.appendChild(DB_ID);

Attr attr = doc.createAttribute("id");
attr.setValue(result.getString(1));
DB_ID.setAttributeNode(attr);

Element TimeStamp = doc.createElement("TimeStamp");
TimeStamp.appendChild(doc.createTextNode(result.getString(2)));
DB_ID.appendChild(TimeStamp);

Element MAC = doc.createElement("MAC");
MAC.appendChild(doc.createTextNode(result.getString(3)));
DB_ID.appendChild(MAC);

Element AP = doc.createElement("AP");
AP.appendChild(doc.createTextNode(result.getString(4)));
DB_ID.appendChild(AP);

Element RSSI = doc.createElement("RSSI");
RSSI.appendChild(doc.createTextNode(result.getString(5)));
DB_ID.appendChild(RSSI);

Element Vendor = doc.createElement("Vendor");
Vendor.appendChild(doc.createTextNode(result.getString(6)));
DB_ID.appendChild(Vendor);

}


TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult Result = new StreamResult(new File("/home/sensen/Desktop/test/msqlfile.xml"));

// Output to console for testing
// StreamResult result = new StreamResult(System.out);

transformer.transform(source, Result);

System.out.println("File saved!");


} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
// TODO coe application logic here
}catch(Exception ex){
ex.printStackTrace();
}
}
}

Now the problem is that I want to add new data from database into xml file automatically like as soon as database receive any data it just append those entries into xml file.

Please check and give me some notes or sample code for that.

Thank you in advance.