我想检查是否正确插入了HTML注释标记..如果有开始标记但没有结束标记,我想显示错误。
我提到this link并且能够检索有效的评论节点
for(Element e : document.getAllElements()){
for(Node n: e.childNodes()){
if(n instanceof Comment){
commentNodes++;
System.out.println(n);
}
}
}
if(html.contains("<!--") && commentNodes == 0) {
System.out.println("error");
} else if(html.contains("-->") && commentNodes == 0) {
System.out.println("error1");
}
有更好的方法吗?
答案 0 :(得分:0)
我不确定JSoup是否会解析未关闭的评论标记,尽管还有其他方法可以实现您的目标:
int openings = StringUtils.countMatches(html, "<!--");
int closures = StringUtils.countMatches(html, "-->");
if (openings > closures)
System.out.println("Error: There are not closed comment tags!");
它将计算注释标记开头和闭包的出现次数,并通过比较它可以假设是否有未关闭。要完全确定结果,您还可以将值与JSoup(在您的示例中为commentNodes
)获得的标记数进行比较。