2016-09-26 49 views
1

我想通过java中使用Jsoup的两个元素进行迭代,但是,我得到一个运行时异常错误。看来我不能将节点类型转换为element.Element。Jsoup错误将node.element转换为元素。元素

我真的很感谢你的帮助,谢谢。

代码:

Elements elements1 = doc.select("title"); 
    Elements elements2 = doc.select("link"); 

    Iterator<org.jsoup.nodes.Element> iter1 = elements1.iterator(); 
    Iterator<org.jsoup.nodes.Element> iter2 = elements2.iterator(); 

     while (iter1.hasNext() && iter2.hasNext()) { 
      Element element1 = (Element) iter1.next(); 
      System.out.print(element1); 
      Element element2 = (Element) iter2.next(); 
      System.out.print(element2); 

     } 

运行时错误:

java.lang.ClassCastException: org.jsoup.nodes.Element cannot be cast to javax.lang.model.element.Element 
+1

无法重现例外。你可以发布你的进口? –

+0

Jsoup Element提供了相当多的方法来提供对许多w3c.dom.Element等效功能的访问,为什么不尝试这些方法?除非当然你试图松散夫妇与JSoup – Ironluca

+0

@Ironluca你能告诉我如何做到这一点或给我一个教程的链接,谢谢。 –

回答

0

你可以总结一下你的代码是这样的:

for(org.jsoup.nodes.Element e : doc.select("title, link")) { 
    switch(e.tagName().toLowerCase()) { 
     case "title": 
     case "link": 
      System.out.print(e); 
     break; 

     default: 
      // handle unexpected element... 
    } 
}