2017-09-06 6 views
0

私はこのHTMLからいくつかのデータを掘るしようとしている、
HTMLが別のスパン(Seems like valid html according to other stack over flow postjsoupスパン

そう表現

td > p > span 

リターン内のスパンを持っています2要素(2番目の要素には両方のスパンがあります)
これには方法がありますか?この例では

は、価値がある中で、私は興味がある 03/26/17

<td width="414" style="width:310.25pt;border:none;border-bottom:solid #AEAAAA 1.0pt;padding:0in 5.4pt 0in 5.4pt;height:.3in"> 
    <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height:normal"> 
&nbsp; 

     <span style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif;color:black">03/</span> 
     <span style="font-size:8.0pt;font-family:&quot;Arial&quot;,sans-serif">26<span style="color:black">/17</span> 
     </span> 
     <o:p/> 
    </p> 
</td> 

コード:

protected String getSimpleValue(org.jsoup.nodes.Document doc,String selector) { 
    StringBuffer buff = new StringBuffer(); 

    try {   
     Elements result = doc.select(selector); 

     for (Element element : result) { 
      buff.append(element.ownText()+" "); 
      } 
    }catch(Exception ex) { 
     ex.printStackTrace(); 
    } 
return buff.toString(); 
} 
+1

あなたの質問は何ですか?あなたは何を期待して何を得るのですか? – luksch

答えて

1

以下のコードを試すことができます。それはあなたが望むものを正確にもたらすでしょう。

Element ele= document.select("p[class=MsoNormal]").get(0); 
String strdate = ele.text().replaceAll(" ", ""); 
System.out.println(strdate); 

説明: Uは直接pclass="MsoNormal"の要素を作成し、テキストを取得するため.text()を使用することができます。いくつかのスペースが来ているので、そのために.replaceAll(" ", "")を使用することができます。 これがあなたを助けてくれることを願っています。

あなたの結果:03/26/17

+1

@ user648026このコードを試しましたか? –

1

"03 /" .MsoNormal > span:nth-child(1)であるため、セレクタと「26/17」のセレクタは.MsoNormal > span:nth-child(2)です。
これはhereです。