hi,
im new to xml..i developed one application using jsp file..if i enter the values it should store in xml file...for storing using servlet file...the problem is if i enter new values it is not appending to the xml....can any one help me out...im sndng the servlet file...its urgent
package test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
public class XmlServlet extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
String username="";
String password="";
if(request.getParameter("username")!=null && request.getParameter("password")!=null)
{
username = request.getParameter("username").toString();
password = request.getParameter("password").toString();
}
try
{
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
//creating a new instance of a DOM to build a DOM tree.
Document doc = docBuilder.newDocument();
new XmlServlet().createXmlTree(doc,username,password);
pw.println("<b>Xml File Created Successfully</b>");
}
catch(Exception e)
{
System.out.println(e);
}
}
public void createXmlTree(Document doc,String userid,String password) throws Exception
{
//This method creates an element node
Element root = doc.createElement("User");
//adding a node after the last child node of the specified node.
doc.appendChild(root);
Element child1 = doc.createElement("UserId");
root.appendChild(child1);
Text text = doc.createTextNode(userid);
child1.appendChild(text);
Element element = doc.createElement("Password");
root.appendChild(element);
Text text1 = doc.createTextNode(password);
element.appendChild(text1);
//TransformerFactory instance is used to create Transformer objects.
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = sw.toString();
File file = new File("E:/xgprs/xmlgprs/loginXml.xml");
BufferedWriter bw = new BufferedWriter
(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(xmlString);
bw.flush();
bw.close();
}
}
Thanks in advance,
madhuri..