繁体   English   中英

jSoup从网页获取数据并显示在JavaFX TableView中

[英]jSoup get data from webpage and display in JavaFX TableView

我想从以下网页获取日期,距离和Fin列: http ://www.gbgb.org.uk/raceCard.aspx?dogName=Ballymac%20Monleek并在JavaFX的TableView中显示该数据。

我将如何使用jSoup选择指定的列,然后将这些列放入TableView中?

我当前的代码只能从该网页上获取“ Fin”列-我发现很难弄清楚如何获得其他两列,然后我不确定如何将它们放入“可观察列表”中在表格视图中显示。

    Dog dog = (Dog)tblRunners.getSelectionModel().getSelectedItem();
    String selectedDog = dog.getName();

    //getHistory
    String dogPage = "http://www.gbgb.org.uk/raceCard.aspx?dogName=" + selectedDog;
    Document doc1 = Jsoup.connect(dogPage).get();

    Element tblHeader = doc1.select("tbody").first();
    for (Element element1 : tblHeader.children()){
        String position = element1.select("td:eq(4)").text();
        System.out.println("Position: " + position);

}

谢谢罗布

  1. 我将对页面中的数据使用POJO,例如:
public class DogDetail {

    private String date;
    private String distance;
    private String fin;

    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
    public String getDistance() {
        return distance;
    }
    public void setDistance(String distance) {
        this.distance = distance;
    }
    public String getFin() {
        return fin;
    }
    public void setFin(String fin) {
        this.fin = fin;
    }
}
  1. 我将在tblHeader变量处使用另一个选择路径,并使用FXCollections.observableArrayList函数具有可观察的列表。 编码:
Element tblHeader = doc1.select("table.MasterTable_Web20 tbody").first();
List<DogDetail> data = new ArrayList<>();
for (Element element1 : tblHeader.children()){
    DogDetail dogDetail = new DogDetail();
    dogDetail.setDate(element1.select("td:eq(0)").text());
    dogDetail.setDistance(element1.select("td:eq(1)").text());
    dogDetail.setFin(element1.select("td:eq(4)").text());
    data.add(dogDetail);
}

TableView<DogDetail> table = new TableView<DogDetail>(FXCollections.observableArrayList(data));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM