java - 适用于 HTML 的 Java 最佳 DOM API

标签 java dom jsoup

当我需要使用使用 HttpURLConnection 代码检索的 HTML 文档时,什么是适合 Java 的良好 DOM api? 。我注意到jsoup除了作为 DOM 解析器之外,还可以进行一些 http 连接。有没有更好或更适合更复杂的http请求的东西?

最佳答案

用两句话来说,我的答案是:(A) 不要在应用程序设计中将网络连接与 DOM 解析混合在一起。 (B) 与 JSoup你已准备好出发。

以下是更多详细信息:

(A) 我建议混合使用这两个要求 (1) DOM 解析和 (2) 处理 HTTP 连接。当然,我不知道你手头的情况,但你可能最终会得到一个不清晰的设计,这将很难维护。例如,如果您迁移到 HTTPS,您可能依赖于解析器能够处理它。

(B) 也就是说,如果您正在处理 HTML 文档,您可能会对不仅能够处理有效的 XHTML,而且能够处理不完整的标记更感兴趣。

stackoverflow 上还有其他相关问题(例如 thisthis ),可归结为以下工具:

  • 清理 HTML 页面以符合 XHTML,
  • DOM 解析,
  • 两者的结合。

最常用的工具似乎是

Here为了您的方便,还有一个开源 Java HTML 解析器的列表。

如果您仍然认为您的解析器应该处理 URL 连接,也许您可​​以指定更多有关“更复杂的 http 请求”含义的详细信息?

HTH

关于java - 适用于 HTML 的 Java 最佳 DOM API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615674/

相关文章:

javascript - 将内容 append 到现有 div 所需位置

java - 通过 Jsoup Java Android 登录 Twitter

java - 如何使用 Jsoup 获取某些数据?

java - IntelliJ IDEA - 错误 : JavaFX runtime components are missing,,需要运行此应用程序

javascript - 音乐播放器播放所有具有相同 ID 的音乐

java - 为什么我在 ~/.android 文件夹中没有 debug.keystore(对于 mac)?

JavaScript DOM : transfer element between frames

java - 选择 jsoup 中的每个 html 元素

java - 带有正则表达式的 Spring URI 模板模式

java - Android 设备中的 OpenCV Java API 或 OpenCV C++ API?