我目前正在编写一个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;
}
}