问题描述
本月我一直在尝试使用jSoup解析html页面,但没有成功。我尝试解析的HTML数据未显示在Android TextView中,也未显示在Android Activity中的任何位置。我一直试图解析的xml数据的网址包含在代码中。请在下面找到我的代码
...
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Headlines extends Activity {
TextView oneTitle;
TextView oneDes;
TextView oneDate;
TextView oneGen;
TextView twoTitle;
TextView twoDes;
TextView twoDate;
TextView twoGen;
TextView threeTitle;
TextView threeDes;
TextView threeDate;
TextView threeGen;
TextView fourTitle;
TextView fourDes;
TextView fourDate;
TextView fourGen;
TextView fiveTitle;
TextView fiveDes;
TextView fiveDate;
TextView fiveGen;
String hOne;
String hTwo;
String hThree;
String hFour;
String hFive;
String dOne;
String dTwo;
String dThree;
String dFour;
String dFive;
String daOne;
String daTwo;
String daThree;
String daFour;
String daFive;
String gOne;
String gTwo;
String gThree;
String gFour;
String gFive;
ProgressDialog mDialog;
String mWeb = "https://www.standardmedia.co.ke/RSS/headlines.PHP";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_headlines);
oneTitle = (TextView)findViewById(R.id.hTitle1);
oneDes = (TextView)findViewById(R.id.hDes1);
oneDate = (TextView)findViewById(R.id.hDate1);
oneGen = (TextView)findViewById(R.id.hGen1);
twoTitle = (TextView)findViewById(R.id.hTitle2);
twoDes = (TextView)findViewById(R.id.hDes2);
twoDate = (TextView)findViewById(R.id.hDate2);
twoGen = (TextView)findViewById(R.id.hGen2);
threeTitle = (TextView)findViewById(R.id.hTitle3);
threeDes = (TextView)findViewById(R.id.hDes3);
threeDate = (TextView)findViewById(R.id.hDate3);
threeGen = (TextView)findViewById(R.id.hGen3);
fourTitle = (TextView)findViewById(R.id.hTitle4);
fourDes = (TextView)findViewById(R.id.hDes4);
fourDate = (TextView)findViewById(R.id.hDate4);
fourGen = (TextView)findViewById(R.id.hGen4);
fiveTitle = (TextView)findViewById(R.id.hTitle5);
fiveDes = (TextView)findViewById(R.id.hDes5);
fiveDate = (TextView)findViewById(R.id.hDate5);
fiveGen = (TextView)findViewById(R.id.hGen5);
new Downloader().execute();
}
private class Downloader extends AsyncTask<Void,Void,Void>
{
@Override
protected void onPreExecute()
{
super.onPreExecute();
mDialog = new ProgressDialog(Headlines.this);
mDialog.setCancelable(false);
mDialog.setMessage("Please Wait...");
mDialog.setIndeterminate(true);
mDialog.show();
}
@Override
protected Void doInBackground(Void... args)
{
try
{
Document mDocument = Jsoup.connect(mWeb).get();
Elements mTitle = mDocument.select("title");
Elements mDescription = mDocument.select("description");
Elements mDate = mDocument.select("pubDate");
Elements mGen = mDocument.select("link");
Element title1 = mTitle.get(2);
Element title2 = mTitle.get(3);
Element title3 = mTitle.get(4);
Element title4 = mTitle.get(5);
Element title5 = mTitle.get(6);
Element des1 = mDescription.get(3);
Element des2 = mDescription.get(4);
Element des3 = mDescription.get(5);
Element des4 = mDescription.get(6);
Element des5 = mDescription.get(7);
Element date1 = mDate.get(1);
Element date2 = mDate.get(2);
Element date3 = mDate.get(3);
Element date4 = mDate.get(4);
Element date5 = mDate.get(5);
Element gen1 = mGen.get(2);
Element gen2 = mGen.get(3);
Element gen3 = mGen.get(4);
Element gen4 = mGen.get(5);
Element gen5 = mGen.get(6);
hOne = title1.text();
hTwo = title2.text();
hThree = title3.text();
hFour = title4.text();
hFive = title5.text();
dOne = des1.text() + "\n";
dTwo = des2.text() + "\n";
dThree = des3.text() + "\n";
dFour = des4.text() + "\n";
dFive = des5.text() + "\n";
daOne = date1.text() + "\n";
daTwo = date2.text() + "\n";
daThree = date3.text() + "\n";
daFour = date4.text() + "\n";
daFive = date5.text() + "\n";
gOne = gen1.text() + "\n" + "\n" + "\n" + "\n" + "\n" + "\n";
gTwo = gen2.text() + "\n" + "\n" + "\n" + "\n" + "\n" + "\n";
gThree = gen3.text() + "\n" + "\n" + "\n" + "\n" + "\n" + "\n";
gFour = gen4.text() + "\n" + "\n" + "\n" + "\n" + "\n" + "\n";
gFive = gen5.text() + "\n" + "\n" + "\n" + "\n" + "\n" + "\n";
}
catch(Exception ex)
{
Log.e("Error",ex.getMessage());
ex.printstacktrace();
}
return null;
}
@Override
protected void onPostExecute(Void arg)
{
oneTitle.setText(hOne);
oneDes.setText(dOne);
oneDate.setText(daOne);
oneGen.setText(gOne);
twoTitle.setText(hTwo);
twoDes.setText(dTwo);
twoDate.setText(daTwo);
twoGen.setText(gTwo);
threeTitle.setText(hThree);
threeDes.setText(dThree);
threeDate.setText(daThree);
threeGen.setText(gThree);
fourTitle.setText(hFour);
fourDes.setText(dFour);
fourDate.setText(daFour);
fourGen.setText(gFour);
fiveTitle.setText(hFive);
fiveDes.setText(dFive);
fiveDate.setText(daFive);
fiveGen.setText(gFive);
mDialog.dismiss();
}
}
}
...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)