2012-02-25 108 views
5

我想使用Jsoup提取html中的特定內容。以下是示例html內容。使用Jsoup提取跨度標記數據

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
</head> 
<body class=""> 
    <div class="shop-section line bmargin10 tmargin10"> 
    <div class="price-section fksk-price-section unit"> 
    <div class="price-table"> 
    <div class="line" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"> 
     <div class="price-save"> 
     <span class="label-td"><span class="label fksk-label">Price :</span></span> 
     </div> 
     <span class="price final-price our fksk-our" id="fk-mprod-our-id">Rs.<span class="small-font"> </span>11990</span> 
    </div> 
    <meta itemprop="price" content="Rs. 11990" /> 
    <meta itemprop="priceCurrency" content="INR" /> 
    <div class="our-price-desc fksk-our-price-desc"> 
     <small>(Prices are inclusive of all taxes)</small> 
    </div> 
    </div> 
    </div> 
    </div> 
</body> 
</html> 

我用下面的命令所需的輸出:

document.select(".price-table").select(".line").select("span").get(2).text() 

看起來像其漫長的。 我不能直接使用跨班級(「價格最終價格我們的fksk-我們」)?

對此有何幫助?

回答

4

這不適合你嗎?不知道你爲什麼任意從price-table開始。

doc.select("span[class=price final-price our fksk-our]").text(); 

如果不是,它應該非常接近。看看JSoup的selector syntax;它非常強大。

+1

許多感謝AHungerArtist,您提供的解決方案工作正常。我發現「price-table」div類在整個html中是獨一無二的,所以我選擇了這個類。 – topblog 2012-02-25 17:57:40