我是jsoup的新手,我很难理解我应该为以下html选择哪些选择器:
<div class="details">
<div></div>
<div></div>
<div></div>
<div>
<b>
Title :
</b>
dog
</div>
</div>
我需要为许多html页面执行此操作,并且每个页面都有不同的标题值(例如,dog,cat等)。那么,如果我希望我的java代码只能 &#34; dog&#34;字?可能采用以下格式:
Elements links = doc.select(???);
我只需要知道在&#34; ???&#34;的地方。
答案 0 :(得分:0)
如果您只需要从每个页面中选择一个实例,则以下解决方案将起作用:
// select the first child of a div with class="details" that has a <b> tag child
Element titleDiv = doc.select("div.details div:has(b)").first();
// print out the text owned by the div (e.g. the animal's name)
System.out.println(titleDiv.ownText());
如果您需要在单个页面上选择此元素的多个实例,则以下内容也适用:
// select all divs that have <b> and are children of div.details
Elements titleDivs = divs.select("div.details div:has(b)");
for (Element div : titleDivs) {
// call ownText to get the animal name
System.out.println(div.ownText());
}
对于您的示例HTML,两者都将打印:
dog