我正在制作一个可以从我的大学网站获取新公告的 Android 应用程序。
这是网站中的 HTML 代码:
sample_html_code http://img690.imageshack.us/img690/1079/88210050.png
文字版:
<table border="1" width="90%" class="duyuru">
<tbody>
<tr>
<td>
<h3 class="duyuru">Additional Quotas for the Technical Electives</h3>
"19/09/2012"
<h4 class="duyuru">"Additional Quotas for Technical Electives offered in...</h4>
<span class="duyuru"></span>
<br>
<a href="news_image/96.doc">Download</a>
</td>
</tr>
</tbody>
</table>
通过使用下面的代码,我可以得到第一行和第三行“技术选修课的附加配额”和“......的附加配额”。但是,我无法获取位于 h3 和 h4 行之间的日期信息 (19/09/2012)。
String patternStr ="\\<h3 class=\"duyuru\".*?\\>(.*?)\\</h3\\>";
patternStr+="(.*?)"; // This line is problematic
patternStr+=".*?\\<h4 class=\"duyuru\".*?\\>(.*?)\\</h4\\>";
Pattern pattern = Pattern.compile(patternStr, Pattern.DOTALL);
Matcher matcher = pattern.matcher(content);
String name = "";
String date = "";
String details = "";
while (matcher.find()){
name = matcher.group(1);
date = matcher.group(2);
details = matcher.group(3);
Announcement announcement = new Announcement();
announcement.setName(name);
announcement.setDate(date);
announcement.setDetails(details);
announcements.add(announcement);
}
我尝试使用
.*?\"(.*?)\"
但它没有用。当我这样做时,它会从以 h4 标记而不是日期信息开始的行中获取字符串“duyuru”。
任何人都知道如何获取日期信息?
提前致谢。