有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java jTidy漂亮的打印,没有标题和标题标签

我正在尝试使用jTidy在我拥有的HTML片段上漂亮地打印。到目前为止,我已经做了以下工作

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之后,我找到了setPrintBodyOnly方法(我在上面使用过),但仍然没有找到运气

我错过了什么?我尝试过谷歌搜索,但到目前为止,所有的链接都是死路一条


共 (1) 个答案