java - 如何在 Java 中剖析 HTML 页面,以挑选出某些元素?

标签 java php forms http post

由于我不想讨论这个问题的原因,我有一个 Java 类,可以发布 HTML 表单并读取响应。

我收到的回复的一小段是:

<div class="main_box">

  <table width="100%" border="0" cellspacing="4" cellpadding="4" class='results'>
    <tr>
        <td colspan="3" class="title">Free Car ID Check Results</td>
    </tr>
    <tr>
        <td class='title' width='34%'>Vehicle Registration Number</td>
        <td width="43%">ABC123</td>
        <td width="23%" rowspan="4" valign="top"><p align="center"><img src="/media/FORD.jpg" alt="FORD" /></p>
        <p>      </p></td>
    </tr>
    <tr>
        <td  class='title'>Make</td>
        <td>FORD</td>
    </tr>
    <tr>
        <td class='title'>Model</td>
        <td>ESCORT</td>
    </tr>
    <tr>
        <td class='title'>Colour</td>
        <td>BLUE</td>
    </tr>
  </table>

</div>

从中挑选出品牌型号颜色的最简单、可靠的方法是什么?这只是我正在读取的输入流的一小部分,我不能保证除此之外的 HTML 元素保持不变,因为网页中的元素可能会改变。

谢谢

最佳答案

使用像 JSoup 这样的 HTML 解析器。它使您可以轻松阅读文档并选择元素。

例如

Document doc = Jsoup.connect("http://url").get();
Elements elements = doc.select("div[class=main_box] td[class=title]");
for (Element anElement : elements) {
    // Real treatment here
    System.out.print(anElement.text());
    System.out.println(": "+anElement.nextElementSibling().text());
}

关于java - 如何在 Java 中剖析 HTML 页面,以挑选出某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9105296/

相关文章:

java - 使用泛型方法返回类型、列表

java - 多接口(interface): instanceof cannot differentiate different interfaces

javascript - 无法使用 ajax 提交我的联系表单

php - 如何返回给定字符串的所有组合? (例如 'foo bar' = bar、bar_foo、foo)

php - 如果字段为空,如何停止表单提交?

javascript - 在触摸屏(包括 Windows 8)上实现友好的选择控制

java - 防止双重表单提交的最佳实践是什么

java - 在 Spring Boot 应用程序中创建自定义连接池

java - 测试当前时间两个值是否匹配?

php - 将表单中的数据存储到数据库中