1

私はjsoupが初めてで、このhtmlを解析しようとしましたが
、jsoupで解析するにはどうすればよいですか?

  <tr id="bir" >
    <td class ="number"> dsadds </td >
<td class ="name"> dsdad </td >
<td class ="idea"> dvewe </td ></tr>
  <tr id="bir" >
    <td class ="number"> ewe</td >
<td class ="name"> ewe</td >
<td class =idea> dsasdsds </td ></tr>
  <tr id="bir" >
    <td class ="number"> dsadd dsds </td >
<td class ="name"> dsdcdsd adds </td >
<td class ="idea"> dsad dsdsds </td ></tr>

ここに私のコードがあります

 Elements kelime = document.select("tr#bir td.number");
    Elements anlam = document.select("tr#bir td.name");
    for(Element sectd:kelime){
         for(Element sectd1:anlam){


               result1 = sectd1.text();
               Custom temp = new Custom("Big" + result,"Small" +result1);

                 fetch.add(temp);


           }result = sectd.text();
    }

tr のすべての td 情報を一時ファイルに表示する必要があるため、リストにデータを追加しています。それは実際にはループの問題だと思います:%しかし、私はそれを取得しませんでした:/。

何か案が?

4

3 に答える 3

2

#getElementsByClass(X); によってクラス名 X の要素を解析できます。

Document doc = Jsoup.connect(yourURL).userAgent("Mozilla").get();
Elements els = doc.getElementsByClass("number");

for (Element el : els) {
    print(el.text());
}
...
于 2012-06-09T08:50:45.753 に答える
2

ご清聴ありがとうございました。ここでコードを修正しました。

 Elements kelime = document.select("tr#bir");
    for(Element sectd:kelime){
        Elements tds = sectd.select("td"); 

               result = tds.get(0).text();
               result1 = tds.get(1).text();
               result2 = tds.get(2).text();


               Custom temp = new Custom("Kelime  :" + result,"En erken Türkçe örnek   :" + result1,"Köken   :"+result2);

                 fetch.add(temp);
    }
于 2012-06-10T18:17:25.320 に答える
0

私はあなたの問題が何であるかを推測することしかできませんでした。

私は2つの問題を見つけました:

  • 持っていない場合、HTMLの例は空になります

    < テーブル > examplehtmlcode < /テーブル>

  • 結果が値を持つ前に引用符で結果を使用します。「String result = sectd.text();」を移動しました。内側の for ループの前。

    java.io.File をインポートします。import java.io.IOException; org.jsoup.* をインポートします。org.jsoup.nodes.Document をインポートします。org.jsoup.nodes.Element をインポートします。org.jsoup.select.Elements をインポートします。public class CopyOfparser {

    public static void main(String[] args){
    
    
    String filepath =   "C:/Users/RH/Desktop/test/1234.html";
    
    File input = new File(filepath);
    
    
    Document document=null;
    try {
        document = Jsoup.parse(input, "ISO-8859-1");
    } catch (IOException e) {
        e.printStackTrace();
    }
    

    // ここからコードを開始します。

    Elements kelime = document.select("tr#bir td.number");
    Elements anlam = document.select("tr#bir td.name");
    for(Element sectd:kelime){
         String result = sectd.text();
    
              for(Element sectd1:anlam){
    
    
              String result1 = sectd1.text();
              System.out.println("Big" + result +" Small" +result1);
    
    
           }
    
    }
    

私はこの出力を得ました:

Bigdsadds Smalldsdad
Bigdsadds Smallewe
Bigdsadds Smalldsdcdsd adds
Bigewe Smalldsdad
Bigewe Smallewe
Bigewe Smalldsdcdsd adds
Bigdsadd dsds Smalldsdad
Bigdsadd dsds Smallewe
Bigdsadd dsds Smalldsdcdsd adds

これは役に立ちますか?

于 2012-06-10T01:14:51.697 に答える