Java 如何查找元素的前N个同级

Java 如何查找元素的前N个同级,java,html,xpath,html-parsing,htmlunit,Java,Html,Xpath,Html Parsing,Htmlunit,我使用HtmlUnit在java中解析HTMLPAE,我想从一个页面中获取所有表,然后为每个表找到5个以前的同级表。 这是我在第页中解析表的方式: List<HtmlTable> tables = (List<HtmlTable>) page.getByXPath("//table"); if(tables!=null && tables.size()>0) { for

我使用HtmlUnit在java中解析HTMLPAE,我想从一个页面中获取所有表,然后为每个表找到5个以前的同级表。 这是我在第页中解析表的方式:

List<HtmlTable> tables = (List<HtmlTable>) page.getByXPath("//table");              
         if(tables!=null && tables.size()>0) {
                  for(int k=tables.size()-1; k>=0; k--) {
                     for (HtmlTableRow row : tables.get(k).getRows()) {
                         List<HtmlTableCell> tds = row.getCells();
                                                                      }
                                                        }
                                            }     
List tables=(List)page.getByXPath(//table”);
if(tables!=null&&tables.size()>0){
对于(int k=tables.size()-1;k>=0;k--){
for(HtmlTableRow:tables.get(k.getRows()){
List tds=row.getCells();
}
}
}     
如果一张表是这样的:

<p></p>
<p></p>
<div></div>
<table>
.
.
</table>

. .
我需要得到
和两个
元素


JSoup似乎有一个兄弟姐妹的方法,在HtmlUnit中找不到类似的东西。

HtmlUnit中也有很多可用的函数。从在线
HtmlUnit
文档中检查以下内容:


  • 尝试使用此功能,以获得您想要实现的功能。

    HtmlUnit
    中也有很多可用的功能。从在线
    HtmlUnit
    文档中检查以下内容:


  • 尝试使用此选项,以获得您想要实现的目标。

    只需使用更合适的
    XPath
    表达式:

    //table/preceding-sibling::*[position()<=3]
    

    //表/前面的同级::*[position()只需使用更合适的
    XPath
    表达式:

    //table/preceding-sibling::*[position()<=3]
    
    //表/前面的同级::*[position()
    
      <p/>
      <p/>
      <div/>