2015-03-16 69 views
13
String body = "<br>"; 
Document document = Jsoup.parseBodyFragment(body); 
document.outputSettings().escapeMode(EscapeMode.xhtml); 
String str = document.body().html(); 
System.out.println(str); 

bekliyoruz: <br />Jsoup 1.8.1 ile HTML'yi XHTML'ye dönüştürmek mümkün müdür?

sonucu: <br>

XHTML içine dönüştürme değeri HTML Jsoup miyim?

+0

Garip dan xhtml almak için aşağıdaki yöntemi kullanabilirsiniz

jtidy-r938.jar kullanın, benim için gayet iyi çalışıyor. '1.7.2' sürümünü kullanarak test ettim. – Pshemo

+0

Benim için çalışmıyor, '1.8.1' kullanıyorum – Henry

cevap

16

Document.OutputSettings.Syntax.xml bakınız:

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

HTML veya XML dizesi bırakmak istediğiniz sözdizimi söylemelisiniz.

public String parserXHtml(String html) { 
     org.jsoup.nodes.Document document = Jsoup.parseBodyFragment(html); 
     document.outputSettings().syntax(org.jsoup.nodes.Document.OutputSettings.Syntax.xml); //This will ensure the validity 
     document.outputSettings().charset("UTF-8"); 
     return document.toString(); 
    } 
1

Bunu yapmak için JTidy API kullanabilirsiniz. Sen 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; 
    } 
İlgili konular