2013-06-14 46 views
5

この例では、テキストアラインメントスタイルの値をjsoupで取得する手助けをしてくれる人はいますか?ここでjsoupでhtmlインラインスタイル属性値を取得

<th style="text-align:right">4389</th> 

私は右

はありがとうござい値を取得したいです!

+0

は、あなたが今まで実施してきたものたちを表示します。あなたはどこにいるのですか? –

+0

私の表現がその要素で動作しているかどうかを知ろうとしていました。要素elt = doc.select( "[style * = 'text-align']"); System.out.println(elt.size()); ' –

答えて

6

要素のstyle属性を取得し、:で分割することができます。

例:

final String html = "<th style=\"text-align:right\">4389</th>"; 

Document doc = Jsoup.parse(html, "", Parser.xmlParser()); // Using the default html parser may remove the style attribute 
Element th = doc.select("th[style]").first(); 


String style = th.attr("style"); // You can put those two lines into one 
String styleValue = style.split(":")[1]; // TODO: Insert a check if a value is set 

// Output the results 
System.out.println(th); 
System.out.println(style); 
System.out.println(styleValue); 

出力:

<th style="text-align:right">4389</th> 
text-align:right 
right 
+0

これは私が最後に想像した解決策ですが、別の方法です。ご協力いただきありがとうございます。 –

+1

これは再びスタイル値の文字列操作です。複数のスタイルが追加されたときにはこれはうまくいかない。 jsoupにinnerStyle.attr( "text:align")が "right"を返すように個々のスタイルをElementとして取得する方法がありますか? –

+0

@SaravanaPrakashはい、未完成のようです。つまり、複数の「適切に形成された」キー値を抽出する正規表現を考案するのは簡単ですが、JSoupがこれを標準として扱うように思えるかもしれません...たとえば、私は今どこを見なければならないのでしょうかどの文字が "鍵"と "値"として合法的に許可されているかを調べる。コロンなどの任意の空白を持つことができると仮定します。これらの詳細は、JSoupパッケージで処理する必要があります。 –