如何使用Jsoup删除doctype

时间:2013-03-07 17:32:58

标签: java parsing jsoup

我正在尝试从我正在解析的html文件中删除doctype但文档类型在文件中保持不变。

 Document doc = Jsoup.parse(file, null);


    List<Node>nods = doc.childNodes();
      for (Node node : nods) {

    if (node.nodeName().equals("#doctype") {

       node.remove();

  }

感谢。

2 个答案:

答案 0 :(得分:0)

node.nodeName()=="#doctype"

在尝试比较相等性时,使用==运算符来比较类型String的对象将产生不可预测的结果。那是因为它正在检查两个引用是否指向同一个对象,但是没有相同的值。您应该使用的是equals()方法,它已在String类中被重写以检查是否相等。

答案 1 :(得分:0)

Document document = ...;
document.childNodes()
    .stream()
    .filter(node -> node instanceof DocumentType)
    .findFirst()
    .ifPresent(Node::remove);