java HTML解析getElementByClass方法
我试图解析html文件,我需要从文件中检索一个表
我可以假定getElementsByClass
函数按文件中的顺序返回元素集合吗?对于getElementsByTag
和getElementsById
也有同样的问题
Elements table_rows = tbody.getElementsByClass("table_row");
for(Element tr : table_rows){
Elements table_datas = tr.getElementsByTag("td");
}
# 1 楼答案
元素。getElements*方法按照元素在文档中出现的顺序返回元素(使用深度优先的前序遍历),这很容易从源代码中验证。首先是元素。getElementsByClass,使用与类匹配的计算器:
其他getElements*方法是类似的(当然,有不同的评估者)。getElementById类似,只是它只返回集合中的第一个元素(如果集合为空,则返回null)
收藏家。collect只是设置了一个访问者,在第一次遇到元素时添加与评估器匹配的元素(预排序):
NodeTraversor。遍历被明确地记录为对其参数及其所有子代执行深度优先遍历,所以这里不显示代码