次のような要素があります:
<td> TextA <br/> TextB </td>
TextA と TextB を個別に抽出するにはどうすればよいですか?
ベストアンサー1
いくつかの方法があります。それは、ドキュメント自体と、与えられたHTMLマークアップが一貫しているかどうかによって異なります。この特定の例では、次td
のようにして の子ノードを取得できます。Element#childNodes()
そして、各ノードを個別にテストして、TextNode
か否か。
例えば
Element td = getItSomehow();
for (Node child : td.childNodes()) {
if (child instanceof TextNode) {
System.out.println(((TextNode) child).text());
}
}
その結果
テキストA テキストB
Element#textNodes()
Jsoup が、子要素を取得するために が行うのと同じように、子テキスト ノードを取得するために または何かを提供してくれたらよいと思います(例では、要素Element#children()
が返されます)。<br />