0

我正在使用 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>

如何使用 jercio提取第 7项和第 8 项之间的数据。

提前致谢

4

1 回答 1

0

在我的情况下,“第 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);
            }


        }
于 2013-04-29T06:36:53.103 回答