title: java.lang.NullPointerException while adding node to the root node
body: <p>I am trying to add a tag and it's value dynamically into the xml file through the following function.I am trying to add the tag named <em>first-name</em> and it value under the root tag. But while running the following snippet I am getting exceptions.</p>
  
  <pre><code>    public void write(String name) {
      try {
          DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
          DocumentBuilder db = dbf.newDocumentBuilder();            
          Document document = db.newDocument();
  
          Element blobKey_E = document.createElement("first-name");
          blobKey_E.appendChild( document.createTextNode( name ) );
          // The following line produces an exception
          // LINE 27 
          document.getDocumentElement().appendChild(blobKey_E); // append the new tag under the root
  
          TransformerFactory tf = TransformerFactory.newInstance();
          Transformer transformer = tf.newTransformer();
          DOMSource source = new DOMSource(document);
          StreamResult result = new StreamResult(new File("/home/non-admin/NetBeansProjects/Personal Site_Testers/web/xml/xml_1.xml"));
          transformer.transform(source, result);            
      }catch(Exception exc) {
          exc.printStackTrace();
      }
  }
  </code></pre>
  
  <p><em>exceptions :</em></p>
  
  <pre><code>java.lang.NullPointerException
  at Beans.XmlBuilder.write(XmlBuilder.java:27)
  at Servlets.tester.doGet(tester.java:26)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
  at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
  at java.lang.Thread.run(Thread.java:722)
  </code></pre>
  
  <p>I have highlighted line number 27 in the function above.</p>