Ich möchte den Wert von pricecell/WebRupeeKlasse aus diesem HTML-Dokument.Wie erhält man den Wert dieser Klasse in jsoup?
Das Dokumentausschnitt sieht so aus.
<tr prodid="143012" class="tablerow style2">
<td class="pricecell"><span class="WebRupee">Rs.</span> 29 <br><font style="font-size:smaller;font-weight:normal"> 3 days </font></td>
<td class="spacer"></td>
<td class="detailcell"><span><span class="label label-default" style="background-color:#3cb521;color:#fff;border:1px solid #3cb521">FULL TT</span> </span><span><span class="label label-default" style="background-color:#fff;color:#0c7abc;border:1px solid #0c7abc">SMS</span> </span>
<div style="padding-top:5px">
29 Full Talktime
</div>
<div class="detailtext">
5 Local A2A SMS valid for 1 day
</div></td>
</tr>
<tr prodid="127535" class="tablerow style2">
<td class="pricecell"><span class="WebRupee">Rs.</span> 59 <br><font style="font-size:smaller;font-weight:normal"> 7 days </font></td>
<td class="spacer"></td>
<td class="detailcell"><span><span class="label label-default" style="background-color:#3cb521;color:#fff;border:1px solid #3cb521">FULL TT</span> </span><span><span class="label label-default" style="background-color:#fff;color:#0c7abc;border:1px solid #0c7abc">SMS</span> </span>
<div style="padding-top:5px">
59 Full Talktime
</div>
<div class="detailtext">
10 A2A SMS valid for 2 days
</div></td>
</tr>
<tr prodid="143025" class="tablerow style2">
<td class="pricecell"><span class="WebRupee">Rs.</span> 99 <br><font style="font-size:smaller;font-weight:normal"> 12 days </font></td>
<td class="spacer"></td>
<td class="detailcell"><span><span class="label label-default" style="background-color:#3cb521;color:#fff;border:1px solid #3cb521">FULL TT</span> </span>
<div style="padding-top:5px">
99 Full Talktime
</div>
<div class="detailtext">
10 Local A2A SMS for 2 days only
</div></td>
</tr>
Ich möchte speziell die 29 Wert, 59, 99, die in der pricecell-> webrupee Klasse eingeschlossen sind, muss ich es von jsoup analysiert werden.
Der Code, den ich versucht habe: -
class kp extends AsyncTask<Void,Void,Void> {
ArrayList<HashMap<String, String>> arraylist2 = new ArrayList<>();
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... voids) {
try {
Document doc = Jsoup.connect("http://www.ireff.in/plans/" + operator+"/" + state).userAgent("Mozilla/5.0 " +
"(Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36").get();
int count = 0, j = 0, i = 0;
String TopupTable="";
for (Element table : doc.select("div[id=Topup]")) {
for (Element row : table.select("tr")) {
count++;
TopupTable=TopupTable+row.toString();//has all the values of topup category
System.out.print(TopupTable+"TopupTable row string here");
}
}
....
....
....
Elements r2;
String temp;
Document doc2 = Jsoup.parse(TopupTable, "",Parser.xmlParser());//doc2 has the TopupTable string converted to a "Document" type variable
for (Element table : doc.select("div[id=Topup]")) {
for (Element row : table.select("tr")) {
i++;
j++;
k++;
try {
Elements tds = row.select("td:not([rowspan])");
if(tds.contains("tr[id=download]"))
continue;
Elements tds2 = doc2.getElementsByClass("td[class=pricecell]");
temp=doc2.getElementsByClass("span[class=WebRupee]").toString();//trying to get those numeric values and store it in temp variable
System.out.print(temp+"temp var");
I Leerwert für die temporäre Variable immer bin, mir freundlich sagen, wo ich falsch gehen.
Vielen Dank für Ihre Zeit :-) Wenn Sie mehr Details zu dieser Frage, bitte unten kommentieren.
Sorry, es gerade nicht ausgegeben wird, auch kein Wert, wenn ich – penta
debuggen Ein guter Hinweis auf eine Lösung, die die Schienen abgehend ist die Verwendung von instanceof. Dieses Schlüsselwort sollte um jeden Preis vermieden werden, um Ihre Lösung polymorph zu halten. –