5

how can we convert html to well formed xhtml by using Http class api,if possible please give a demonstration code....thanks

2
  • What is the "Http class api"? Commented May 9, 2011 at 11:52
  • @skaffman Perhaps java.net or the like. Commented Sep 25, 2021 at 15:58

3 Answers 3

14

I just did it using Jsoup, if it works for you:

private String htmlToXhtml(final String html) {
    final Document document = Jsoup.parse(html);
    document.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
    return document.html();
}

Some useful content where my solution came from:

Sign up to request clarification or add additional context in comments.

Comments

4

Have a look at J-Tidy: http://jtidy.sourceforge.net/ It usually does a quite good job cleaning up messy html and converting it to xhtml.

1 Comment

0

You can use the following method to get xhtml from html

public static String getXHTMLFromHTML(String inputFile,
            String outputFile) throws Exception {

        File file = new File(inputFile);
        FileOutputStream fos = null;
        InputStream is = null;
        try {
            fos = new FileOutputStream(outputFile);
            is = new FileInputStream(file);
            Tidy tidy = new Tidy(); 
            tidy.setXHTML(true); 
            tidy.parse(is, fos);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }finally{
            if(fos != null){
                try {
                    fos.close();
                } catch (IOException e) {
                    fos = null;
                }
                fos = null;
            }
            if(is != null){
                try {
                    is.close();
                } catch (IOException e) {
                    is = null;
                }
                is = null;
            }
        }

        return outputFile;
    }

1 Comment

If you declare outputFile as parameter you don't have to return it in addition. Java's parameter passing is by-value and for reference types, like String, this value is the reference to the object (on the heap) created, and passed, by the caller. That means, changes to it inside the function are also visible to the caller once the function has ended. (Apart from inventing this wheel again when libraries exist that do that for us; see the other answers.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.