title: Convert html to xml using java
body: <p>Can any one suggest me a best approach for converting html to xml using java
  Is there any API available for that?
  The html also might contain javascript code</p>
  
  <p>I have tried below code:</p>
  
  <pre><code>import java.io.BufferedInputStream;
  import java.io.BufferedReader;
  import java.io.BufferedWriter;
  import java.io.DataInputStream;
  import java.io.FileOutputStream;
  import java.io.FileReader;
  import java.io.FileWriter;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  import java.net.URL;
  import java.net.URLConnection;
  import org.jdom.JDOMException;
  import org.jdom.input.SAXBuilder;
  import org.jdom.output.XMLOutputter;
  import java.io.IOException;
  
  class HTML2XML {
      public static void main(String args[]) throws JDOMException {
      InputStream isInHtml = null;
      URL url = null;
      URLConnection connection = null;
      DataInputStream disInHtml = null;
      FileOutputStream fosOutHtml = null;
      FileWriter fwOutXml = null;
      FileReader frInHtml = null;
      BufferedWriter bwOutXml = null;
      BufferedReader brInHtml = null;
      try {
          // url = new URL("www.climb.co.jp");
          // connection = url.openConnection();
          // isInHtml = connection.getInputStream();
  
          frInHtml = new FileReader("D:\\Second.html");
          brInHtml = new BufferedReader(frInHtml);
          SAXBuilder saxBuilder = new SAXBuilder(
                  "org.ccil.cowan.tagsoup.Parser", false);
          org.jdom.Document jdomDocument = saxBuilder.build(brInHtml);
  
          XMLOutputter outputter = new XMLOutputter();
          org.jdom.output.Format newFormat = outputter.getFormat();
          String encoding = "iso-8859-2";
          newFormat.setEncoding(encoding);
          outputter.setFormat(newFormat);
  
          try {
              outputter.output(jdomDocument, System.out);
              fwOutXml = new FileWriter("D:\\Second.xml");
              bwOutXml = new BufferedWriter(fwOutXml);
              outputter.output(jdomDocument, bwOutXml);
              System.out.flush();
          } catch (IOException e) {
          }
  
      } catch (IOException e) {
      } finally {
          System.out.flush();
          try {
              isInHtml.close();
              disInHtml.close();
              fosOutHtml.flush();
              fosOutHtml.getFD().sync();
              fosOutHtml.close();
              fwOutXml.flush();
              fwOutXml.close();
              bwOutXml.close();
          } catch (Exception w) {
  
          }
      }
  }
  }
  </code></pre>
  
  <p>But its not working as expected</p>