Java Jsoup:从所有子元素获取文本
在我试图解析的文档中,有以下元素:Java Jsoup:从所有子元素获取文本,java,jsoup,Java,Jsoup,在我试图解析的文档中,有以下元素: <span class="location accessible-contrast-color-location"> Seattle, WA 98104 <span style="font-size: smaller">(Downtown area)</span> </span> 我认为text()应该在父元素及其子元素中包含文本,但事实似乎并非如此 编辑: Elements jobEleme
<span class="location accessible-contrast-color-location">
Seattle, WA 98104
<span style="font-size: smaller">(Downtown area)</span>
</span>
我认为text()
应该在父元素及其子元素中包含文本,但事实似乎并非如此
编辑:
Elements jobElements =
doc.select(".jobsearch-SerpJobCard.unifiedRow");
Element companyWrapper = jobElement.selectFirst(".sjcl");
解决方案1 您可以通过CSS类名获取元素文本。为此,必须使用
doc.select(“span.location”).text()代码>
在本例中,有一个元素有一个子元素,当调用text
方法时,将获取主节点(西雅图,WA 98104)及其子节点(市区)的文本
代码如下
public static void main(String[] args) {
String html = "<span class=\"location accessible-contrast-color-location\">" +
"Seattle, WA 98104" +
"<span style=\"font-size: smaller\">(Downtown area)</span>" +
"</span>";
Document doc = Jsoup.parse(html);
String result = doc.select("span.location").text();
System.out.println(result);
}
请注意,由于您需要两个文本,因此必须获取第一个span
标记,因为它包含子标记,因此您可以从中获取父标记文本((西雅图,WA 98104))以及子标记文本(市区)。您使用的是哪个Jsoup版本?我使用的是1.11.3,我的输出是“华盛顿州西雅图98104(市区)”1.11.3
version,并添加了Maven。真奇怪!如何实例化公司说唱歌手?你能添加代码吗?@TDG是的,请参见编辑。它是一个
public static void main(String[] args) {
String html = "<span class=\"location accessible-contrast-color-location\">" +
"Seattle, WA 98104" +
"<span style=\"font-size: smaller\">(Downtown area)</span>" +
"</span>";
Document doc = Jsoup.parse(html);
String result = doc.select("span.location").text();
System.out.println(result);
}
public static void main(String[] args) {
String html= "<span class=\"location accessible-contrast-color-location\">" +
"Seattle, WA 98104" +
"<span style=\"font-size: smaller\">(Downtown area)</span>" +
"</span>";
Document doc = Jsoup.parse(html);
String result= doc.select("span").first().text();
System.out.println(result);
}