jsoup1.15.3支持jdk1.7吗
时间: 2023-09-16 11:06:50 浏览: 125
是的,jsoup1.15.3可以在 JDK 1.7 环境中使用。从 jsoup 1.10.2 开始,jsoup 已经支持 JDK 1.7 及以上版本。如果您的项目运行在 JDK 1.7 环境中,可以使用 jsoup 1.15.3 版本或更早的版本。
需要注意的是,jsoup 1.15.3 版本的最低要求是 JDK 1.6,但是如果您使用的是 JDK 1.7,那么 jsoup 也是完全支持的。
相关问题
如何在jsoup 1.15.3中替换白名单功能?
在jsoup 1.15.3及更高版本中,如果`Whitelist.basicWithImages()`不再有效,你可以通过其他方式进行HTML元素的过滤和加载。jsoup的文档通常会提供新的API说明和示例。以下是替换白名单功能的一种常见做法:
```java
// 使用ElementFilter来选择要加载的元素
Document doc = Jsoup.connect("http://example.com").get();
doc.setParser(new Parser().whitelist(Elements.<String>select("a[href], img[src]")));
// 或者,如果你想要更细粒度的控制,可以使用ElementSelectors
doc.setLoadFlags(ElementSelectors.all().except(ElementSelectors.tag("script")).except(ElementSelectors.attr("style")));
// 确保检查最新的文档,因为API的具体细节可能会有所变化
```
记得查看jsoup 1.15.3的官方教程或API参考以获取最准确的指导。
jsoup从1.13.1升级到1.15.3后,没有Whitelist类了
在jsoup 1.13.1之后的版本(如1.15.3),Whitelist类已经被移除,因为这个特性在新的API设计中不再直接存在。如果你想限制解析的内容,可以考虑使用以下替代方法:
1. **ElementSelectors**:创建一个`ElementSelectors`对象,并使用`.except()`方法排除你不希望加载的标签或属性。例如,`ElementSelectors.all().except(ElementSelectors.tag("script"))`将只允许除了`<script>`以外的所有元素。
2. **Document.Builder** 的 `parser()` 方法:设置一个自定义的`Parser`,并使用它的`whitelist()`、`blacklist()`方法来指定要加载或忽略的标签或属性。
```java
Document doc = Jsoup.connect("http://example.com")
.parser(new Parser().whitelist(Elements.tagName("a"), Elements.attr("href")));
```
3. **Document.LoadFlags**:在连接请求之前,可以设置`LoadFlags`,比如`LOAD_NO_IMAGES`来阻止图片的自动加载。
```java
Connection connection = Jsoup.connect("http://example.com");
connection.userAgent(userAgent);
connection.timeout(timeout); // 可选,设置超时
connection.ignoreContentType(true); // 如果服务器返回非HTML内容,仍尝试解析
connection.parseOptions(ParseOption.IGNORE_IF_NONEXISTENT);
connection.loadFlags(ConnectionLoadFlags.LOAD_NO_IMAGES);
Document doc = connection.get();
```
请注意,jsoup的文档会有详细的迁移指南和新特性的介绍,帮助开发者适应版本更新的变化。
阅读全文