我正在使用Jsoup来解析我拥有的html文件。我有一个像这样的html结构
<p> abcd </p> // 1
<p id='1234'> // 2
<tt class='translate'> efgh </tt>
</p>
<p class='questions'> // 3
<tt class='translate'> ijkl </tt>
</p>
<p> //4
<tt class='translate'> mnop </tt>
</p>
我使用选择器“p [id] tt.translate”和“p.questions tt.translate”得到2和3。我很难找到1和4的选择器。有人可以帮忙吗?
答案 0 :(得分:0)
您可以使用CSS选择器选择所有<p>
标记作为Elements
集合,并选择该集合中的第一个Element
对象。
Document doc = Jsoup.parse(html); //Parse document
Element e = doc.select("p").first(); //Select the first of all <p>-elements
还有其他几种方法可供选择,例如
Element e = doc.select("p:eq(0)").first();
将导致在它所在的树中选择索引等于0的所有<p>
标记。
答案 1 :(得分:0)
如果您需要每个<p>
的文本,我会选择所有这些文本,然后简单地迭代:
Document doc = Jsoup.parse(html);
Elements elements = doc.select("p");
for(Element p : elements) {
p.text();
}