Java 如何遍历一组链接并提取href并将其存储在新的链接集中?

Java 如何遍历一组链接并提取href并将其存储在新的链接集中?,java,jsoup,Java,Jsoup,这就是我目前所拥有的。我试图循环我的第一组链接,并从每个元素中提取HTML标记。然后将链接添加到临时设置。最后,它将清除第一个集合并将所有链接放回其中。希望这是有道理的 到目前为止,我当前的代码给了我一个编译时错误 temp.add(x.attr("href")); 代码如下: public static void main(String[] args) throws IOException { Document doc = Jsoup.connect("http:

这就是我目前所拥有的。我试图循环我的第一组链接,并从每个元素中提取HTML标记。然后将链接添加到临时设置。最后,它将清除第一个集合并将所有链接放回其中。希望这是有道理的

到目前为止,我当前的代码给了我一个编译时错误

    temp.add(x.attr("href"));
代码如下:

    public static void main(String[] args) throws IOException {


    Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/Matrix_(mathematics)").get();

    Elements links = doc.select("body a");

    Set<Element> linkSet = new HashSet<Element>(links);

    Set<Element> temp = new HashSet<Element>();

    for(Element x : linkSet)
        temp.add(x.attr("href"));

    linkSet.clear();

    linkSet.addAll(temp);
publicstaticvoidmain(字符串[]args)引发IOException{
Document doc=Jsoup.connect(“http://en.wikipedia.org/wiki/Matrix_(数学)“).get();
元素链接=文件选择(“正文a”);
Set linkSet=新哈希集(links);
Set temp=new HashSet();
用于(元素x:链接集)
临时添加(x.attr(“href”);
linkSet.clear();
linkSet.addAll(临时);

我不知道您使用的是什么元素类,但是Element.attr(.)可能返回一个字符串而不是另一个元素。

正如您在中看到的,
attr
返回的是一个
字符串,而不是
元素

Set<String> links = new HashSet<String>();
for (Element link: doc.select("body a"))
   links.add(link.attr("href"));
Set links=newhashset();
对于(元素链接:单据选择(“正文a”))
links.add(link.attr(“href”);

只是为了确保我了解您编写的代码中到底发生了什么。循环将遍历文档中的每个元素,并将文档中的每个href作为字符串添加到链接中。是否正确?