问题:大侠们我想问两个Android开发使用jsoup解析html的相关问题
回答:第一个问题帮你解决了;第二个问题很简单(但你用错了),但没有你的这个htm文件,没有修改测试
superonCreate(savedInstanceState);TextView txt = new TextView(this);
InputStream input;
try {
input = getResources()getAssets()open("temp04_assets/txt01htm");
int buffersize = inputavailable();// 取得输入流的字节长度
byte buffer[] = new byte[buffersize];
inputread(buffer);// 将数据读入数组
inputclose();// 读取完毕后要关闭流。
String txthtml = EncodingUtilsgetString(buffer, "UTF-8");// 设置取得的数据编码,防止乱码
Document doc = Jsoupparse(txthtml);
Element infoTable = docgetElementsByAttributeValue("class",
"table002")first();
Elements tableLineInfos = infoTableselect("tr");
for (Element lineInfo : tableLineInfos) {
String lineInfoContent = lineInfoselect("td")last()text()
trim();
txtsetText(lineInfoContent);
setContentView(txt);
}
} catch (IOException err) {
errgetStackTrace();
}
新浪的那个天气的值是通过js动态加载的,原始html页面是<div id="SI_Weather_Wrap" class="now-wea-wrap clearfix"></div> 。
而jsoup只是对html进行解析,所以是找不到js动态生成的哪些信息的。
String html = "<div class=''aa" id="aa">
</div>";
Document doc = Jsoupparse(html);
Element link = docselect("div#>aa");//使用id
如果要获取div里面的其它节点直接docselect("div#>aa>p") id=p的节点。
使用Jsoup解析html中的指定数据,十分方便。Jsoup工具十分强大,十分好用。但网上似乎没有很好的例子,本文的目的即在于此。建议仔细阅读代码中的几个例子,Jsoup解析数据不外乎这几种类型。
第一步:将Jsoup JAR包导入项目
第二步:使用Jsoup API
1, 定位
通过div的属性值,定位到html的div(块),即所需要内容对应的块。
示例代码如下:
<div class="content">
2, 筛选数据
a, 通过标签头,在div中继续筛选数据。可能会找到很多的数据,这里会用到循环。见eg1。
//eg1:解析百度音乐 Document doc = Jsoupconnect(">
以上就是关于大侠们我想问两个Android开发使用jsoup解析html的相关问题全部的内容,包括:大侠们我想问两个Android开发使用jsoup解析html的相关问题、java语言获取网页标签中的内容、jsoup如何通过字符串抓取元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)