我使用Jericho来解析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项。使用菊苣
Thanks in Advance
在我的例子中,'Item 7'和'Item 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);
}
}