0 parsing android html-parsing jsoup
我正在开发 Android 应用程序,使用 JSOUP 来解析 HTML。
我有 HTML 语法
<div class='wrapper'>
<div style='margin:7px;'>
<div class='box' style='height:595px'>
<div class='boxtitlebox'>
<div class='boxtitle'><h4>13 RECENT CHORDS</h4></div><div class='clear'></div>
</div>
<div class='listitem'><a href='http://www.chordfrenzy.com/chord/9742/ungu-apa-sih-maumu-kord-lirik-lagu'>
<div class='subtitle'>Chord Ungu</div>
<div class='title'>Apa Sih Maumu</div>
</a></div>
<div class='listitem'><a href='http://www.chordfrenzy.com/chord/6826/slank-boneka-tersayang-kord-lirik-lagu'>
<div class='subtitle'>Chord Slank</div>
<div class='title'>Boneka Tersayang</div>
</a></div>
<div class='listitem'><a href='http://www.chordfrenzy.com/chord/6751/ari-lasso-rayuan-gombal-kord-lirik-lagu'>
<div class='subtitle'>Chord Ari Lasso</div>
<div class='title'>Rayuan Gombal</div>
</a></div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在,我很困惑如何获得上面的每个ahref、副标题和标题?
我需要它来填充我的数组,如下所示
String[] link=["http://www.chordfrenzy.com/chord/9742/ungu-apa-sih-maumu-kord-lirik-lagu","http://www.chordfrenzy.com/chord/6826/slank-boneka-tersayang-kord-lirik-lagu","http://www.chordfrenzy.com/chord/6751/ari-lasso-rayuan-gombal-kord-lirik-lagu"];
String[] subtitile=["Chord Ungu","Chord Slank","Chord Ari Lasso"];
String[] title=["Apa Sih Maumu","Boneka Tersayang","Rayuan Gombal"];
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
一般来说,您应该更喜欢Selector API而不是 DOM ( getElementsByX)
这是一个例子:
Document doc = Jsoup.parse(html);
// Links
List<String> links = new ArrayList<>();
for( Element element : doc.select("a[href]") )
{
links.add(element.attr("href"));
}
// Subtitles
List<String> subtitles = new ArrayList<>();
for( Element element : doc.select("div[class=subtitle]") )
{
subtitles.add(element.text());
}
// Titles
List<String> titles = new ArrayList<>();
for( Element element : doc.select("div[class=title]") )
{
titles.add(element.text());
}
Run Code Online (Sandbox Code Playgroud)
元素是按标签和属性选择的,如果标签不同或不相关,您可以删除它们(例如,[class=title]而不是div[class=title])。查看 Selector API(上面的链接)以获取更多提示。