Извлечение данных между двумя конкретными текстами, используя Иерихон
Я использую Иерихон для разбора HTML. У меня есть HTML-страница, на которой мне нужно извлечь данные между двумя конкретными текстами.
<table width="100%" align="left">
<tr><td>
<b> Item 7. </b>
</td></tr>
</table>
...........other data...........
other tags
<table width="100%" align="left">
<tr><td>
<b> fd ..fds </b>
</td></tr>
</table>
...........other data ends...........
<table width="100%" align="left">
<tr><td>
<b> Item 8. </b>
</td></tr>
</table>
Как я могу извлечь данные между пунктом 7 и пунктом 8, используя jerchio .
Заранее спасибо
1 ответ
В моем случае "пункт 7" и "пункт 8" отображаются внутри "жирным шрифтом", за которым следует
Я повторил список элементов. Мой код
for (Element allElement : allElements) {
if(strtInd==false){
if((allElement.getStartTag().toString().toLowerCase()).startsWith(("<table").toLowerCase())){
List<Element> boldElem = allElement.getAllElements(HTMLElementName.B);
if(null !=boldElem && boldElem.size()>0){
Element e1 = boldElem.get(0);
if(null != e1&& (e1.getTextExtractor().toString().toLowerCase()).startsWith(("Item 7.").toLowerCase())){
prevElement = allElement;
strtInd = true;
}
}
}
}else{
if((allElement.getStartTag().toString().toLowerCase()).startsWith(("<table").toLowerCase())){
List<Element> boldElem = allElement.getAllElements(HTMLElementName.B);
if(null !=boldElem && boldElem.size()>0){
Element e1 = boldElem.get(0);
if(null != e1&& (e1.getTextExtractor().toString().toLowerCase()).startsWith(("Item 8.").toLowerCase())){
System.out.println(e1.getTextExtractor().toString());
strtInd = false;
break;
}
}
}
sBuff.append(allElement.getFirstElement());
prevElement =allElement;
System.out.println(allElement);
}
}