Java Jsoup选择器-如何选择前5个<;p>;内部元素<;部门>;要素
有一组html元素,如下所示:Java Jsoup选择器-如何选择前5个<;p>;内部元素<;部门>;要素,java,jsoup,Java,Jsoup,有一组html元素,如下所示: <div class="abcdefghijk"> <p>a</p> <p>b</p> <p>c</p> <p>d</p> <p>e</p> <p>f</p> <p>h</p> <p>i</p> <p&g
<div class="abcdefghijk">
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
<p>f</p>
<p>h</p>
<p>i</p>
<p>j</p>
<p>k</p>
</div>
a
b
c
d
e
f
h
我
j
k
我想选择前5个
元素。
请帮忙 从中我们可以了解到:
:lt(n)
:查找同级索引(即其在DOM树中相对于其父级的位置)小于n的元素;e、 g.td:lt(3)
因此,根据您的示例,您只需要选择(“div.abcdefghijk p:lt(5)”)
演示:
String html=“\r\n”+
“a\r\n”+
“b\r\n”+
“c\r\n”+
“d\r\n”+
“e\r\n”+
“f\r\n”+
“h\r\n”+
“i\r\n”+
“j\r\n”+
“k\r\n”+
"";
Document doc=Jsoup.parse(html);
元素=文件选择(“div.abcdefghijk p:lt(5)”;
用于(元素el:元素){
系统输出打印项次(el);
}
输出:
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
a
b
c
d
e
从中我们可以了解到:
:lt(n)
:查找同级索引(即其在DOM树中相对于其父级的位置)小于n的元素;e、 g.td:lt(3)
因此,根据您的示例,您只需要选择(“div.abcdefghijk p:lt(5)”)
演示:
String html=“\r\n”+
“a\r\n”+
“b\r\n”+
“c\r\n”+
“d\r\n”+
“e\r\n”+
“f\r\n”+
“h\r\n”+
“i\r\n”+
“j\r\n”+
“k\r\n”+
"";
Document doc=Jsoup.parse(html);
元素=文件选择(“div.abcdefghijk p:lt(5)”;
用于(元素el:元素){
系统输出打印项次(el);
}
输出:
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
a
b
c
d
e
要获得预期结果,请使用第n个子选择器
:nth-child(-n+5)
select("div.abcdefghijk :nth-child(-n+5)")
要获得预期结果,请使用第n个子选择器
:nth-child(-n+5)
select("div.abcdefghijk :nth-child(-n+5)")
如果仍要选择全部,但要对前5个进行特殊处理,请使用(继承自ArrayList
):
返回此列表中指定的fromIndex
(包含)和toIndex
(独占)之间部分的视图
String html=
"" +
“abcde”+//获取这些
“fhijk”+
"";
Document doc=Jsoup.parse(html);
元素段落=文件选择(“div.abcdefghijk p”);
对于(元素el:paras.subList(0,Math.min(5,paras.size())){
系统输出打印项次(el);
}
输出:
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
a
b
c
d
e
如果仍要选择所有这些,但要对前5个进行特殊处理,请使用(继承自ArrayList
):
返回此列表中指定的fromIndex
(包含)和toIndex
(独占)之间部分的视图
String html=
"" +
“abcde”+//获取这些
“fhijk”+
"";
Document doc=Jsoup.parse(html);
元素段落=文件选择(“div.abcdefghijk p”);
对于(元素el:paras.subList(0,Math.min(5,paras.size())){
系统输出打印项次(el);
}
输出:
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
<p>a</p>
<p>b</p>
<p>c</p>
<p>d</p>
<p>e</p>
a
b
c
d
e