1

私はりんご:1、オレンジ:2、ナシ:3 として結果が欲しいです。ドット (...) は、番号と名前が不明であるが 3 列にわたって類似している他のタグを表します。誰でも助けてもらえますか?ありがとう。

    <tr>
    <td> 
      <span>
         .....
          <h>apple</h>
         .....
      </span>  
     </td>
     <td> 
       <span>
             .....
              <h>orange</h>
             .....
          </span>
        </td>
        <td> 
          <span>
             .....
              <h>pear</h>
             .....
          </span>
        </td>
   </tr>
4

1 に答える 1

0

任意の要素を呼び出しgetElementsByTag()て、特定の型のすべての子孫要素をelement.getElementsByTag("h")取得し (すべて取得します<h>)、単純な for を使用して結果を反復処理して順序を取得できます。

サンプルコードを参照してください:

import org.jsoup.Jsoup;
import org.jsoup.nodes.*;
import org.jsoup.select.*;
public class JsoupHtmlSiblingsOrder {
    public static void main(String[] args) {
        String html = "<html><body><span>HELLO!</span><table id=\"myTable\"><tbody>        " +
                "<tr><td> <span>                                                           " +
                "         .....                                                            " +
                "         <h>apple</h>                                                     " +
                "         .....                                                            " +
                "         </span>                                                          " +
                "</td><td><span>                                                           " +
                "         .....                                                            " +
                "         <h>orange</h>                                                    " +
                "         .....                                                            " +
                "         </span>                                                          " +
                "</td><td><span>                                                           " +
                "         .....                                                            " +
                "         <h>pear</h>                                                      " +
                "         .....                                                            " +
                "         </span>                                                          " +
                "</td></tr>                                                                " +
                "</tbody></table></body></html>                                            ";
        Document doc = Jsoup.parse(html);
        Element table = doc.getElementById("myTable");;
        Elements hs = table.getElementsByTag("h");
        for (int i = 0; i < hs.size(); i++) {
            Element h = hs.get(i);
            System.out.println(h.text()+":"+(i+1));
        }
    }
}

出力:

apple:1
orange:2
pear:3
于 2013-06-30T18:26:34.170 に答える