Jsoup Cast Element as TextNode导致异常

时间:2017-03-29 13:50:50

标签: java parsing jsoup

使用jsoup尝试解析的是以下Numérod'arrêt:5216和NuméroNOR:63066,但似乎没有任何建议和建议将受到高度赞赏:

`

<div class="1st">
<p>
<h3>Numérotation : </h3>
Numéro d'arrêt : 5216
<br />
Numéro NOR : 63066
</div>

`

更新:

我得到了这个代码,但它一直给我这个异常org.jsoup.nodes.Element不能强制转换为org.jsoup.nodes.TextNode:

Document tunisie = Jsoup.connect("http://www.juricaf.org/arret/TUNISIE-COURDECASSATION-20060126-5216").get();

for (Element titres : tunisie.select("div.arret")){

                    String titre = titres.select("h1#titre").first().text();
                    System.out.println(titre);
                    System.out.println("\n");
                }


                for (Element node : tunisie.select("h3")) {
                    TextNode numérodarrêt = (TextNode) node.nextSibling();
                    System.out.println(" " + numérodarrêt.text());
                    System.out.println("\n");

                }

                //NuméroNOR et Identifiant URN LEX
                for (Element element2 : tunisie.select("br")) {
                    TextNode NuméroNOR_IdentifiantURNLEX = (TextNode) element2.nextSibling();
                    System.out.println(" " + NuméroNOR_IdentifiantURNLEX.text());
                    System.out.println("\n");
                }

更新:

这是我正在尝试解析的图片链接如下。

Parsing text outside html tags

2 个答案:

答案 0 :(得分:1)

{{1}}

答案 1 :(得分:0)

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class JsoupTest {

    public static void main(String[] args) throws IOException {
       Document tunisie = Jsoup.connect("http://www.juricaf.org/arret/TUNISIE-COURDECASSATION-20060126-5216").get();
       // get the first div in class arret
       Element arret = tunisie.select("div.arret").first();   
       // select h1 tag by its ID to get the title 
       String  titre = arret.select("#titre").text();
       System.out.println(titre);
       // to get the text after h3 select h3 and go to next sibling
       String txtAfterFirstH3    = arret.select("h3").first().nextSibling().toString();
       System.out.println(txtAfterFirstH3);
       // select first br by its index; note first br has the index 0; and call nextSibling to get the text after the br tag
       String txtAfterFirstBr    = arret.getElementsByTag("br").get(0).nextSibling().toString();
       System.out.println(txtAfterFirstBr);
       // the same as above only with next index
       String txtAfterSecondBr    = arret.getElementsByTag("br").get(1).nextSibling().toString();
       System.out.println(txtAfterSecondBr);
    } 
}