Java JSoup-选择所有注释
我想使用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(
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()
}
}