10

HTMLの一部は次のとおりです(質問のために簡略化されています):

<a href="/auctions?id=4672" class="auction sec"> 
 <div class="progress"> 
  <div class="guarantee"> 
   <img src="/img/ico/2.png" /> 
  </div> 
 </div> </a>
<a href="/auctions?id=4670" class="auction">  
 <div class="progress"> 
  <div class="guarantee"> 
   <img src="/img/ico/1.png" /> 
  </div> 
 </div> </a>

取得したいのは、2.png 画像が表示されるオークションの ID を含むベクターです (この場合は id=4672)。これを取得するためにセレクタクエリを作成する方法は?

http://jsoup.org/apidocs/org/jsoup/select/Selector.html - ここでは、親ではなく子を選択する方法しか見つかりません...

他のライブラリの使用を含め、助けていただければ幸いです。Jsoup が一番人気のようだったので試してみました。

4

1 に答える 1

18

メソッドを使用できますparent()

final String html = "<a href=\"/auctions?id=4672\" class=\"auction sec\"> \n"
        + " <div class=\"progress\"> \n"
        + "  <div class=\"guarantee\"> \n"
        + "   <img src=\"/img/ico/2.png\" /> \n"
        + "  </div> \n"
        + " </div> </a>\n"
        + "<a href=\"/auctions?id=4670\" class=\"auction\">  \n"
        + " <div class=\"progress\"> \n"
        + "  <div class=\"guarantee\"> \n"
        + "   <img src=\"/img/ico/1.png\" /> \n"
        + "  </div> \n"
        + " </div> </a>";

Document doc = Jsoup.parse(html);

for( Element element : doc.select("img") ) // Select all 'img' tags
{
    Element divGuarantee = element.parent(); // Get parent element of 'img'
    Element divProgress = divGuarantee.parent(); // Get parent of parent etc.

    // ...
}
于 2013-06-10T15:08:59.430 に答える