在 JAVA 中使用 Xpath 解析 HTML 文件

Parsing HTML file using Xpath in JAVA

我有一个 Java 代码可以读取 URL 的源代码并保存到文件 (source.html),现在我想从保存的页面中提取一些使用 XPath 的值。假设我想阅读价格 - //div [@itemprop='price'] //text ()

如何进一步执行此操作,我能否直接在保存的 HTML 页面中执行此操作,或者我应该先将其转换为 XML 文件,然后使用 XPath。我听说 HTML cleaners/Parsers 我应该在这里使用它吗?请不要指向其他网站寻求答案。如果是这样,请将我带到可以进行直接简单课程的地方。修改以下代码将非常有帮助。

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import org.jsoup.Jsoup;

public class jSoupContentRead {
    @SuppressWarnings("resource")
    public static void main(String[] args) throws IOException {
        FileWriter FR = new FileWriter("source.html");
        PrintWriter op = new PrintWriter(FR);

        org.jsoup.nodes.Document doc = Jsoup.connect(
                "http://itunes.apple.com/us/book/a-way-home/id982665320?mt=11")
                .get();

        op.write(doc.toString());
        System.out.println(doc.toString());
    }
}

通常(跨语言)XPath 将应用于 DOM 结构。在 php 中有一个标准程序:

  1. 得到html
  2. 使其成为有效的 xml(可能是一个可选步骤)
  3. 将其设为DOM文档对象实例
  4. 使其成为 DOMXPath 对象实例
  5. 将 xpath 查询应用于此 DOMXPath 实例。看到一个 example in php.

我觉得JAVA中应该有类似的东西。