【发布时间】:2014-08-12 01:26:42
【问题描述】:
这是我的html代码的一部分
<div class="entry themeform">
<h3>dr James – opiekun naukowy</h3>
<p><a href="http://www.page.com/picture.jpg"><img class="alignnone size-medium wp-image-31" alt="grynia" src="http://www.page.com/picture.jpg" width="200" height="300" /></a></p>
<h3>Kevin – prezes</h3>
<p><a href="http://www.page.com/picture.jpg"><img class="alignnone size-medium wp-image-35" alt="prezes" src="http://www.page.com/picture.jpg" width="217" height="300" /></a></p>
<h3>Lucy – wice prezes</h3>
<p><a href="http://www.page.com/picture.jpg"><img class="alignnone size-medium wp-image-36" alt="Lucy" src="http://www.page.com/picture.jpg" width="225" height="300" /></a></p>
<h3>Zarząd</h3>
<p><a href="http://www.page.com/picture.jpg"><img class="alignnone wp-image-37" alt="zarzad_KNSE" src="http://www.page.com/picture.jpg" width="489" height="256" /></a></p>
<div class="clear"></div
>
</div><!--/.entry-->
首先,我想从这个 div 中的标签中解析文本。如果你能帮我解析这个 div 中的图像也很好(我更改了图片 url,因为隐私)。我是 jsoup 的新手,所以如果你给我写一个代码,我将不胜感激,只是为了将文本解析到 android 活动。
编辑 好的,一开始我试图解析你的(SMR)教程中显示的标题。
代码如下:
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import com.example.uwbnewapptest.R;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class KnseActivity extends Activity {
//TextView title;
String url="http://www.google.com";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.knse_main);
//title = (TextView) findViewById(R.id.textView1);
}
public void bt(View v){
new Title().execute();
}
private class Title extends AsyncTask<Void, Void, Void> {
String title;
@Override
protected Void doInBackground(Void... params) {
try {
// Connect to the web site
Document document = Jsoup.connect(url).get();
// Get the html document title
title = document.title();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// Set title into TextView
TextView txttitle = (TextView) findViewById(R.id.textView1);
txttitle.setText(title);
}
}
}
但是当我运行应用程序并点击按钮时,我有一个错误
编辑 2:
06-21 16:18:01.808: E/AndroidRuntime(28063): FATAL EXCEPTION: AsyncTask #2
06-21 16:18:01.808: E/AndroidRuntime(28063): Process: com.example.uwbnewapptest, PID: 28063
06-21 16:18:01.808: E/AndroidRuntime(28063): java.lang.RuntimeException: An error occured while executing doInBackground()
06-21 16:18:01.808: E/AndroidRuntime(28063): at android.os.AsyncTask$3.done(AsyncTask.java:300)
06-21 16:18:01.808: E/AndroidRuntime(28063): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
06-21 16:18:01.808: E/AndroidRuntime(28063): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
06-21 16:18:01.808: E/AndroidRuntime(28063): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
06-21 16:18:01.808: E/AndroidRuntime(28063): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
06-21 16:18:01.808: E/AndroidRuntime(28063): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
06-21 16:18:01.808: E/AndroidRuntime(28063): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
06-21 16:18:01.808: E/AndroidRuntime(28063): at java.lang.Thread.run(Thread.java:841)
06-21 16:18:01.808: E/AndroidRuntime(28063): Caused by: java.lang.NoClassDefFoundError: org.jsoup.Jsoup
06-21 16:18:01.808: E/AndroidRuntime(28063): at com.uwbapp.KnseActivity$Title.doInBackground(KnseActivity.java:43)
06-21 16:18:01.808: E/AndroidRuntime(28063): at com.uwbapp.KnseActivity$Title.doInBackground(KnseActivity.java:1)
06-21 16:18:01.808: E/AndroidRuntime(28063): at android.os.AsyncTask$2.call(AsyncTask.java:288)
06-21 16:18:01.808: E/AndroidRuntime(28063): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
06-21 16:18:01.808: E/AndroidRuntime(28063): ... 4 more
【问题讨论】:
-
这可能会帮助你Android Basic JSOUP Tutorial
-
检查我的编辑 SMR。我试过这个,但它不起作用。
-
你能打印你收到的错误的堆栈跟踪吗?
-
这是你需要的吗?
-
Android 找不到库,你是如何在项目中包含 jsoup 的?
标签: android html html-parsing jsoup