通过Java在HTML中的两个链接之间提取文本

时间:2011-04-16 23:00:19

标签: java android xml parsing epub

我正在尝试使用Java从e​​Pub文件中检索文本数据。 ePub文件的文本位于HTML文件中,格式如下所示 -

<h2 id="pgepubid00001">Chapter I</h2>

<p>Some text</p>
<p>Another line of Text</p>

<br/>

<h2 id="pgepubid00001">Chapter II</h2>

etc..

在打开这个文件之前,我已经知道了我需要提取的章节的id,并且也可以找到下一章的id。因此,我认为一种逻辑方法是尝试在SAX解析器中解析它并提取每个段落中的文本,直到我到达下一章的链接。但这证明是一项艰巨的任务。

当然,一切都是动态的,所以没有设置链接去等.HTML是半严格格式化的,所以我不希望解析是一个很大的问题。任何人都可以推荐一种提取所需文本的好方法吗?

解决方案必须仅限JAVA ,不能使用其他语言。我希望在Android设备中实现此功能

1 个答案:

答案 0 :(得分:2)

嗯,你知道章节的ids,为什么不使用String.indexOf?

start = text.indexOf("<h2 id=\"pgepubid00001\">");
end = text.indexOf("<h2 id=\"pgepubid00002\">");

whatYoureLookingFor = text.substring(start, end-start)

保持简单。