我想知道如何在HTML中的标记内获取信息。我不知道我做得对,因为它没有返回任何信息。我告诉你我的安卓代码,看看你是否可以帮助我。
代码类:
public class WebView1 extends Activity {
/** Called when the activity is first created. */
WebView browse;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview1);
browse = (WebView) findViewById(R.id.webview1);
browse.setWebChromeClient(new WebChromeClient());
browse.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
File input = new File("file:///android_asset/ejemploWebview.html");
Document doc = null;
try {
doc = Jsoup.parse(input, "UTF-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//http://jsoup.org/cookbook/input/load-document-from-url
//Document doc = Jsoup.connect("http://example.com/").get();
Element content = doc.getElementById("div");
Elements links = content.getElementsByTag("id");
String linkId = links.attr("manolo");
System.out.print(linkId); //I need that it return Hiiii!
}
}); } }
代码HTML:
<html>
<head>
</head>
<div id="james">hellooo!</div>
<div id="paco">byeee!</div>
<div id="manolo">Hiii!</div>
</html>
我希望我解释正确! 谢谢! ;)
答案 0 :(得分:1)
就个人而言,在使用选择器时,我总是从JSoup获得更好的结果,详见here。
从您给出的示例中,您似乎想要按ID检索div值,您可以使用:
el#id:具有ID的元素,例如DIV#标志
所以要么使用上面的3次出现,要么只选择div并迭代它们做你需要做的事情。
希望这有帮助。
P.S,我发现最简单的事情就是在你调用doc = Jsoup.parse(input, "UTF-8");
之后设置一个断点,然后使用你的IDE'表达式构建器来确定哪个选择器可以做你想要的:)