gpt4 book ai didi

java - 使用Jsoup获取没有属性的元素

转载 作者:太空狗 更新时间:2023-10-29 15:07:53 25 4
gpt4 key购买 nike

我有以下 html,使用 Jsoup 我试图提取 p 部分中没有任何属性的文本(文本“Some text 2”而不是“Some text 1”)。

<div id="intro">
<h1 class="some class">
<p id="some_id">
Some text 1
</p>
<p>
Some text 2
</p>
</div>

我尝试使用以下 Jsoup 表达式:

div[id=intro] > p:not(:has(@*))

但它不起作用。感谢您的帮助。

最佳答案

我想你可以使用 JSOUP CSS selector p:not([^]),它将选择任何不匹配的具有以任何内容开头的属性的 p。

String html = "<div id=\"intro\">"
+ "<h1 class=\"some class\">"
+ "<p id=\"some_id\">"
+ "Some text 1"
+ "</p>"
+ "<p name=\"some_name\">"
+ "Some text A"
+ "</p>"
+ "<p data>"
+ "Some text B"
+ "</p>"
+"<p>"
+ "Some text 2"
+"</p>"
+"</div> ";

Document doc = Jsoup.parse(html);
Elements els = doc.select("p:not([^])");
for (Element el:els){
System.out.println(el.text());
}

上面的例子只会打印出来

Some text 2

因为只有这个p元素没有属性。

请注意,选择器 p[^] 将选择所有具有属性的 p 元素。

关于java - 使用Jsoup获取没有属性的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32623325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com