2011-06-19 37 views
2

我想用jTidy漂亮地打印在我有的HTML代碼片段上。到目前爲止,我已經完成以下工作。jTidy - 沒有頭的漂亮打印,標題標籤

protected String prettyPrintHTML(String rawHTML) { 

    Tidy tidy = new Tidy(); 
    tidy.setXHTML(true); 
    tidy.setIndentContent(true); 
    tidy.setPrintBodyOnly(true); 
    tidy.setTidyMark(false); 

    // Convert HTML to DOM 
    Document htmlDOM = tidy.parseDOM(new ByteArrayInputStream(rawHTML.getBytes()), null); 

    // Pretty Print 
    OutputStream out = new ByteArrayOutputStream(); 
    tidy.pprint(htmlDOM, out); 

    return out.toString(); 
} 

這工作,但輸出包括附加內容,比如HTML < >,<頭>,<標題>和<身體>標籤。

例如,對於輸入<UL> <利> SUB1 < /鋰> <利> SUB2 <UL> <利> sub21 < /鋰> </UL > < /鋰> </UL >這給出,

line 1 column 59 - Warning: inserting missing 'title' element 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title> 
    </title> 
    </head> 
    <body> 
    <ul> 
     <li> 
     sub1 
     </li> 
     <li> 
     sub2 
     <ul> 
      <li> 
      sub21 
      </li> 
     </ul> 
     </li> 
    </ul> 
    </body> 
</html> 

通過瀏覽API後,我fo和setPrintBodyOnly方法(我已經在上面使用過),但仍然沒有運氣。

我在這裏錯過了什麼?我嘗試了谷歌搜索,但到目前爲止,所有的鏈接都導致死衚衕。

回答