0
<div></div>
    <div></div>
           <div></div>
            <div></div>
                <ul>
        <form id=the_main_form method="post">
                   <li>
                       <div></div>
                       <div> <h2> 
                <a onclick="xyz;" target="_blank" href="http://sample.com" style="text-decoration:underline;">This is sample</a>
                 </h2></div>
                       <div></div>
                        <div></div>
                      </li>

そのような李は50人います

大きな HTML から html のスニップを投稿しました。

<div> </div> => は、それらの間にデータがあることを意味し、不要なためデータを削除しました。

JSOUP-select ステートメントで href と Text を抽出する方法を教えてください。

doc.select("div div div ul xxxx"); を選択しました。

xxx はフォームです。フォーム ID を指定する必要があります (または) どうすればよいですか

4

2 に答える 2

1

これを試して:

Elements allLis = doc.select("#the_main_form > li ");
for (Element li : allLis) {
    Element a = li.select("div:eq(1) > h2 > a");
    String href = a.attr("href");
    String text = a.text();
}

それが役に立てば幸い!

編集:

Elements allLis = doc.select("#the_main_form > li ");

コードのこの部分は、 with id<li>内にあるすべてのタグを取得します。<form>#the_main_form

Element a = li.select("div:eq(1) > h2 > a");

次に、すべてのタグを反復処理して<li>タグを取得<a>します。最初にタグを取得し ( index=1 -> を使用して<div>すべての s 内の 2 つ目)、次にタグが存在する場所でタグを取得します。<li>div:eq(1)<h2><a>

あなたが今理解していることを願っています!:)

于 2012-10-02T05:25:44.190 に答える
1

これを試してください:

package com.stackoverflow.works;

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

/*
 * @ author: sarath_sivan
 */

public class HtmlParserService {

    public static void parseHtml(String html) {
        Document document = Jsoup.parse(html);
        Element linkElement = document.select("a").first();
        String linkHref = linkElement.attr("href"); // "http://sample.com"
        String linkText = linkElement.text(); // "This is sample"
        System.out.println(linkHref);
        System.out.println(linkText);
    }

    public static void main(String[] args) {
        String html = "<a onclick=\"xyz;\" target=\"_blank\" href=\"http://sample.com\" style=\"text-decoration:underline;\">This is sample</a>";
        parseHtml(html);
    }

}

クラスパスに Jsoup ライブラリがあることを願っています。

ありがとうございました!

于 2012-10-02T05:35:48.967 に答える