2013-10-21 4 views
0

자바를 사용하여 html을 xml로 변환하는 가장 좋은 방법을 제안 해 줄 수 있습니까? 사용할 수있는 API가 있습니까? 있는 HTML이 또한 자바 스크립트 코드를 포함 할 수는자바를 사용하여 HTML을 xml로 변환

나는 코드 아래 시도 :

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) { 

     } 
    } 
} 
} 

하지만이 시도 예상

+0

XHTML을 원하십니까? 그리고이 Javascript 코드는 어떻습니까? 그걸로 무엇을하고 싶습니까? – GolezTrol

+0

정상적인 html 파일을 xml로 변환해야합니다. – suresh

+0

* * XHTML로 변환해야합니까? XHTML은 HTML의 XML 표현입니다. 'XML'은 무엇이든 할 수 있습니다. – GolezTrol

답변

1

대로 작동하지 jTidy

JTidy는 도구로 사용할 수 있습니다

잘못된 형식의 오류를 정리하기위한 HTML

+0

u pls가 jTidy를 사용하여 샘플 코드를 공유하여 작업 할 수 있습니까? – suresh

+0

고마워요. 할 수 있어요. – suresh

0

HTML은 XML 모드의 XHTML 또는 HTML5를 준수하지 않는 한 XML과 다릅니다.

HTML 파서를 사용하여 HTML을 읽고이를 XML로 변환하거나 직접 처리하도록 제안합니다.

관련 문제