-1
私はJsoupを初めて使用しています。私はいくつかのスパンを持っている要素を持っています。子供たちのクラス名を取得する
<div class="first inlineblock">
<span class="float_lang_base_1">Prev. Close</span>
<span class="float_lang_base_2 bold">175</span>
</div>
<div class="inlineblock">
<span class="float_lang_base_1">Day's Range</span>
<span class="float_lang_base_2 bold">173.35 - 176.9</span>
</div>
<div class="inlineblock">
<span class="float_lang_base_1">Revenue</span>
<span class="float_lang_base_2 bold">21.07B</span>
</div>
<div class="first inlineblock">
<span class="float_lang_base_1">Open</span>
<span class="float_lang_base_2 bold">174.45</span>
</div>
私のコードは以下の通りです:
Element OverviewHeadline = doc1.select("div[class=\"clear overviewDataTable\"]").first();
System.out.println("OverviewHeadline = " + OverviewHeadline.html());
Elements elements = OverviewHeadline.children();
for (Element e : elements)
{
System.out.println("e = " + e.html());
if (e.child(0).className() == "float_lang_base_1")
{
if (e.child(0).text() == "Prev. Close")
{
sPreviousClose = e.child(1).text();
}
}
if (e.child(0).className() == "float_lang_base_1")
{
if (e.child(0).text() == "Day's Range")
{
sDaysRange = e.child(1).text();
iLen = sDaysRange.length();
ipos = sDaysRange.indexOf(" - ");
sMarketLow = sDaysRange.substring(0, ipos);
sMarketHigh = sDaysRange.substring(ipos + 3, iLen - (ipos + 3) );
}
}
if (e.child(0).className() == "float_lang_base_1")
{
if (e.child(0).text() == "Open")
{
sOpen = e.child(1).text();
}
}
}
私はクラス名を取得する方法に関してわからないと思います。
これでこの問題がなぜ解決されたのか説明できますか?今後の読者には、これは参考になるかもしれません。 – Zabuza
OverviewHeadLineの子を選択すると、スパンが表示されます。これは、sBase1とsBase2を使用して選択します。その後、私が必要とするアイテムを決定することができました。 sBase1はフィールド名で、sBase2は値です – EddiRae