我必须解析像这样的HTML
<span class="legenda">Cargo a que concorre:</span> Vereador<br />
<span class="legenda">Nome para urna:</span> Adeilza<br />
<span class="legenda">Número:</span> 40656<br />
<span class="legenda">Estado:</span> Amapá<br />
<span class="legenda">Município:</span> Vitória do Jari<br />
<span class="legenda">Partido:</span> Partido Socialista Brasileiro - PSB<br />
<span class="legenda">Coligação:</span> Vitória para todos (PSB / PV / PRTB)<br />
我正在使用jsoup来解析并遵循示例,但在这种情况下我不知道如何获取值。例如“Vereador”或“Adeilza”。 有一种方法可以用jsoup做到这一点吗?
这里是链接,如果有人想看到所有的html页面。 视图源:http://www.eleicoes2012.info/adeilza-psb-40656/
答案 0 :(得分:2)
在jSoup nextSibling
上调用Element
将为您找到下一个Node
。在这种情况下,您可以将span
元素的a选择器与类legenda
一起使用,然后调用nextSibling
。快速举例:
Document doc = Jsoup.connect("http://www.eleicoes2012.info/adeilza-psb-40656/").get();
Elements spans = doc.select("span.legenda");
for(Element span: spans) {
System.out.println(span.nextSibling());
}
为我制作了这个输出:
Adeilza Ribeiro de Souza 30 anos (09/08/1983) Almeirim/PA Solteiro(A) Dona de Casa Ensino Fundamental Incompleto 0 Votos Vereador Adeilza 40656 Amapá Vitória do Jari Partido Socialista Brasileiro - PSB Vitória para todos (PSB / PV / PRTB)