【问题标题】:jTidy - Pretty Printing without Head, Title TagsjTidy - 漂亮的无头打印,标题标签
【发布时间】:2011-06-19 16:56:28
【问题描述】:

我正在尝试使用 jTidy 在我拥有的 HTML sn-p 上进行漂亮的打印。到目前为止,我已经完成了以下工作。

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();
}

这可行,但输出包含附加内容,例如 、

标签。

例如,对于输入

  • sub1
  • sub2
    • sub21
这给出了,
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 方法(我在上面使用过),但仍然没有运气。

我在这里缺少什么?我尝试了谷歌搜索,但到目前为止所有链接都导致死胡同。

【问题讨论】:

    标签: java pretty-print jtidy


    【解决方案1】:

    以下链接中发布了类似的问题。它的答案显示了实现相同目标的一些替代方法。

    JTidy Node.findBody() — How to use?

    【讨论】:

      猜你喜欢
      • 2020-02-27
      • 2023-03-22
      • 1970-01-01
      • 2020-11-12
      • 2011-10-15
      • 2013-05-24
      • 2012-12-27
      • 2015-05-03
      相关资源
      最近更新 更多