【发布时间】:2016-02-10 18:13:47
【问题描述】:
我有以下 html,我正在尝试使用 jsoup 将其解析为 Java 中的对象。
我正在尝试遍历元素并将所有“类”提取为对象以生成时间表数据。每个“班级”都有时间、地点、讲师和描述等,但这不是问题。
所有元素都属于tt_details 类。每一天都没有特定的父子关系,但是我可以使用Elements dayNames = content.getElementsByClass("tt_day"); 提取所涉及的天数
每天可以有不同数量的“课程”,如您所见,周一有 3 个“课程”,周二有,因此正常的循环结构不起作用。我怎样才能做到这一点?
<div class='tt_details'>
<div class='tt_day'>Mon</div>
</div>
<div class='tt_details'>
<div class='tt_timeslot'>11:00 - 13:00
<div class='tt_day_small'> (Mon)</div>
</div>
<div class='tt_detail'>Internet of Things<br/>E1010 - MAC Lab <br/></div>
<div class='tt_lecturer'>Loftus, M</div>
</div>
<div class='tt_details'>
<div class='tt_timeslot'>13:00 - 14:00
<div class='tt_day_small'> (Mon)</div>
</div>
<div class='tt_detail'>Computer Systems & Networking<br/>A0004 - Tiered Lecture Theatre (132) <br/></div>
<div class='tt_lecturer'>Lang, D</div>
</div>
<div class='tt_details'>
<div class='tt_timeslot'>16:00 - 18:00
<div class='tt_day_small'> (Mon)</div>
</div>
<div class='tt_detail'>Intro.to Programming L8<br/>D2005 - Computer Laboratory (32) <br/></div>
<div class='tt_lecturer'>Kinsella,V</div>
</div>
<div class='tt_details'>
<div class='tt_day'>Tue</div>
</div>
<div class='tt_details'>
<div class='tt_timeslot'>09:00 - 10:00
<div class='tt_day_small'> (Tue)</div>
</div>
<div class='tt_detail'>Mathematics 2<br/>A0004 - Tiered Lecture Theatre (132) <br/></div>
<div class='tt_lecturer'>O'Regan,D</div>
</div>
<div class='tt_details'>
<div class='tt_timeslot'>10:00 - 11:00
<div class='tt_day_small'> (Tue)</div>
</div>
<div class='tt_detail'>Mathematics 2<br/>E0017 - Tiered Classroom (106) <br/></div>
<div class='tt_lecturer'>O'Regan,D</div>
</div>
<div class='tt_details'>
<div class='tt_timeslot'>11:00 - 12:00
<div class='tt_day_small'> (Tue)</div>
</div>
<div class='tt_detail'>Intro to Programming<br/>A0006 - Tiered Lecture Theatre (152) <br/></div>
<div class='tt_lecturer'>Kinsella,V</div>
</div>
<div class='tt_details'>
<div class='tt_timeslot'>16:00 - 17:00
<div class='tt_day_small'> (Tue)</div>
</div>
<div class='tt_detail'>Computer Systems & Networking<br/>A0006 - Tiered Lecture Theatre (152) <br/></div>
<div class='tt_lecturer'>Lang, D</div>
</div>
【问题讨论】:
-
你可以在你的项目中使用 jQuery 吗?这会让事情变得容易得多。
-
html 就像一个 XML,因此您可以使用 xml 注释创建对象并使用 Mashal 和 unMarshal
-
它是一个为安卓应用提供数据的爬虫,所以我没有使用任何 jQuery