2
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
Element link = doc.select("a").first();

String text = doc.body().text(); // "An example link"
String linkHref = link.attr("href"); // "http://example.com/"
String linkText = link.text(); // "example""

String linkOuterH = link.outerHtml(); 
    // "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"

この例では、「An」、「link」などを抽出したいだけです。たとえば、ノードの前のテキスト、つまり「An」とノードの後のテキスト、つまり「リンク」を取得したいとします。上記の例では

4

1 に答える 1

4

段落のテキストを取得するには、段落を選択して独自のテキストを要求します。

Element p = doc.select("p").first();
System.out.println(p.ownText());

そのテキストを構成するパーツが必要な場合は、その要素の子ノードをトラバースして、TextNode インスタンスであるノードのみを選択できます。

for (Node node :p.childNodes()){
    if (node instanceof TextNode){
        System.out.println(((TextNode)node).text()); 
    }
}
于 2013-11-09T21:57:23.193 に答える