Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSoup-选择所有注释_Java_Screen Scraping_Extract_Comments_Jsoup - Fatal编程技术网

Java JSoup-选择所有注释

Java JSoup-选择所有注释,java,screen-scraping,extract,comments,jsoup,Java,Screen Scraping,Extract,Comments,Jsoup,我想使用JSoup从文档中选择所有注释。我想这样做: for(Element e : doc.select("comment")) { System.out.println(e); } for(Element e : doc.getAllElements()){ for(Node n: e.childNodes()){ if(n instanceof Comment){ System.out.println(

我想使用JSoup从文档中选择所有注释。我想这样做:

for(Element e : doc.select("comment")) {
   System.out.println(e);
}
    for(Element e : doc.getAllElements()){
        for(Node n: e.childNodes()){
            if(n instanceof Comment){
                System.out.println(n);
            }
        }
    }
我试过这个:

for (Element e : doc.getAllElements()) {
  if (e instanceof Comment) {

  }
}

但eclipse“元素和注释的条件操作数类型不兼容”中会出现以下错误

干杯


Pete

由于
注释扩展了节点
您需要将
instanceof
应用于节点对象,而不是元素,如下所示:

for(Element e : doc.select("comment")) {
   System.out.println(e);
}
    for(Element e : doc.getAllElements()){
        for(Node n: e.childNodes()){
            if(n instanceof Comment){
                System.out.println(n);
            }
        }
    }
在中,您可以通过Jsoup获取整个
文档
或特定
元素
的每个
注释
,包括:

fun Element.getAllComments(): List<Comment> {
  return this.allElements.flatMap { element ->
    element.childNodes().filterIsInstance<Comment>()
  }
}
fun元素。getAllComments():列表{
返回this.allegements.flatMap{element->
元素.childNodes().filterIsInstance()
}
}