java - 如何通过Jsoup有效地了解输入的错误?

  显示原文与译文双语对照的内容
0 0

我试图使用Jsoup验证HTML代码,方法 Jsoup.isValid 总是返回 false 但是我在黑暗中,因为它没有告诉我错误。

这是我的代码:


class PageWhitelist extends Whitelist {
 public PageWhitelist() {
 addTags("html","head","meta","style","body","a","div");
 addProtocols("a","href","http");
 }
}

String markup ="<body><head>...";

PageWhitelist whitelist = new PageWhitelist();
boolean valid = Jsoup.isValid(markup, whitelist);
assertTrue(valid);

valid 简单地评估为 false,测试失败并且Jsoup没有给我任何什么引起错误的线索。

我怎么知道真正发生了什么?

时间: 原作者:

0 0

我从来没有使用过 isValid 原因的HTML验证是一些依赖于你真正想要看到的内容。 例如假设你请求了一个页面并选择了一个。 这里元素为空意味着HTML对我无效。

我所做的是:假设我想要一个像这样的锚

a href="http://stackoverflow.com/questions/28509726/how-to-effectively-know-whats-wrong-with-input-via-jsoup

我使用Jsoup来选择元素。 如果是 NULL,表示我的页面无效。


Elements anchors = Jsoup.parse(html).select("a[href*=stackoverflow.com/questions/]");
if (anchors.isEmpty()) {
//Invalid
}
//valid

...