ループを使用して選択したくない要素を削除する答えが出てきました。
http://jsoup.org/apidocs/org/jsoup/select/Selector.html
私はあなたの選択のうち、維持しようとしている2つの状況がありますテーブルを嘲笑。
String html =
"<table>" +
"<thead><tr><th>Col1</th><th>Col2</th><th>Col3</th></tr></thead>" +
"<tbody>" +
"<tr><td>row1col1</td><td>row1col2</td><td>row1col3</td></tr>" +
"<tr><td colspan='3'>row2fullrow</td></tr>" +
"<tr><td></td><td>row3col2</td><td><strong>row3col3</strong></td></tr>" +
"<tr><td>row4col1</td><td colspan='2'><strong>row4col2and3</strong></td></tr>" +
"</tbody>" +
"</table>";
Document doc = Jsoup.parse(html);
for(Element td : doc.select("td")) {
if (td.children().size() > 0 || td.hasAttr("colspan")) {
td.remove();
}
}
System.out.println(doc);
+++++++++++++++++++++++
UPDATE
+++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++あなたのHTMLは、私が私のもので表現していない他の小さなものを持っていなければなりません。
String html =
"<table>" +
"<thead><tr><th>Col1</th><th>Col2</th><th>Col3</th></tr></thead>" +
"<tbody>" +
"<tr><td>row1col1</td><td>row1col2</td><td>row1col3</td></tr>" +
"<tr><td colspan='3'>row2fullrow</td></tr>" +
"<tr><td></td><td>row3col2</td><td><strong>row3col3</strong></td></tr>" +
"<tr><td id='x'>row4col1</td><td colspan='2'><strong>row4col2and3</strong></td></tr>" +
"</tbody>" +
"</table>";
Document doc = Jsoup.parse(html);
System.out.println(doc.select("td:not([colspan]):not(:has(*))"));
小さなHTMLサンプルを投稿できますか? –
あなたのセレクターは私のためだけに機能します。どのJsoupバージョンを使用していますか?最新のものであれば、HTMLマークアップも投稿し、入手したいものが何であるかを指摘する必要があります。 – BalusC