将Elements集合中的HTML元素添加到自定义对象列表中JAVA

时间:2017-02-01 12:28:29

标签: java html arraylist collections elements

我目前正在编写一个Java程序,它已经能够从网站获取HTML代码并将其解析为文档(没有文件,但是是java Document类的Object)。

然后它使用标签“table rows”提取元素集合,因为我只需要网站上的表格(我正在使用jsoup进行此处理以及解析)。

如果我然后输出Elements对象,一切都很好,我得到了标签所需的html代码部分。所以第一部分似乎没问题。

现在我想让每个元素将一个自定义对象“TableRow”(其构造函数参数与元素拥有的子元素的文本值相匹配)添加到一个新的自定义对象List中。 然后,List应包含与包含元素的Element集合一样多的对象,并且文本值(子元素的)应存储在List中对象的变量中。

对我来说,另一种可能性是将它们存储到XML文件中,但是我不太了解XML存储,所以我更喜欢List。

这是我已写过的代码:

import java.util.ArrayList;
import java.util.Iterator;
import java.awt.List;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.function.Consumer;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class table {
    //List to be filled with the custom Objects
    public ArrayList<tableLine> tableList = new ArrayList<tableLine>();

    public table(){

    }

    public static void main(String[] args) throws IOException{
        //Creating the document and extracting the table rows
        Document site = Jsoup.connect("example.com").get();
        Elements rows = site.getElementsByTag("tr");
    }
}

这是自定义对象类:

import java.awt.List;

public class tableLine {
    String date;
    String course;
    int lesson;
    String subject;
    String text;


    public tableLine(String date, String course, int lesson, String subject, String text){
        this.date = date;
        this.course = course;
        this.lesson = lesson;
        this.subject = subject;
        this.text = text;
    }
}

0 个答案:

没有答案