我有以下html:
<div>
<h1>
<a>1</a>
</h1>
<h2>
<a>2<a>
</h2>
<h3>
<a>3</a>
</h3>
</div>
是否有更好的方法来选择所有锚点 div> h1> a,div> h2> a,div> h3> a。 我正在寻找像div>(h1,h2,h3)> a的东西
谢谢, 忠
我有以下html:
<div>
<h1>
<a>1</a>
</h1>
<h2>
<a>2<a>
</h2>
<h3>
<a>3</a>
</h3>
</div>
是否有更好的方法来选择所有锚点 div> h1> a,div> h2> a,div> h3> a。 我正在寻找像div>(h1,h2,h3)> a的东西
谢谢, 忠
有可能实现这一目标:
div.select("h1,h2,h3").select("a");
或者,如果您只需要div内部的锚点:
div.select("a");
您可以使用选择h1,h2,h3元素 选择( “H1,H2,H3”)
是,
你可以使用这样的东西
认为div是你通过这样做得到的元素的对象
Element div = document.select("div").first();
Elements anchors = div.select("a");
for(Element e: anchors)
{
System.out.println("Anchor Text "+e.text()+" HREF VALUE = "+e.attr("href"));
}
这将打印div中包含它们包含的文本和HREF值的所有锚点
希望这可以帮助,
import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class testXML {
public static void main(String[] args) throws IOException {
File input = new File("D:\\test.html");
Document doc = Jsoup.parse(input, "UTF-8");
Elements divTag = doc.select("div");
for(Element value: divTag){
System.out.println(value.text());
}
Elements divTagH = doc.select("div").select("h1,h2,h3");
for(Element value: divTagH){
System.out.println(value.text());
}
}
}
输出:
1 2 3 1 2 3