Извлечь весь текст содержимого из HTML, исключив определенный тег элемента - PullRequest
0 голосов
/ 05 февраля 2019

Есть ли способ извлечь весь текст из html, сохранив некоторые элементы, имеющие определенные теги, без извлечения.

Я попытался удалить теги этих элементов и получить html-контент без него, а затем внедрить его сновано это извлечение неупорядоченного содержимого.

HtmlPage pageWithoutTables = parseHtmlFromString(removeByTagName(htmlContent, "table"), webClient);

public static String removeByTagName(final String str, final String tag) {

    return str.replaceAll("<" + tag + "(.+?)</" + tag + ">", "");
}

input

     <!DOCTYPE html>
 <html>
 <head>
 <style>
 table {
   font-family: arial, sans-serif;
   border-collapse: collapse;
   width: 100%;
 }

  td, th {
   border: 1px solid #dddddd;
   text-align: left;
   padding: 8px;
 }

 tr:nth-child(even) {
   background-color: #dddddd;
 }
 </style>
 </head>
 <body>

 <h2>this sentence would be in bold print.</b>

Below is an example of a very simple page </h2>

anything others .............etc...

<table>
 <tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
 </tr>
 <tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
 </tr>
 <tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
 </tr>
 <tr>
<td>Ernst Handel</td>
<td>Roland Mendel</td>
<td>Austria</td>
 </tr>
<tr>
<td>Island Trading</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr>
<td>Laughing Bacchus Winecellars</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
 </tr>
</table>
<br> <br> <br> <br> 

other data that maybe contains the same tag again

 </body>
  </html>

ожидаемый вывод

this sentence would be in bold print. Below is an example of a very simple 
page
anything others .............etc...
<table>
 <tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
 </tr>
 <tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
 </tr>
 <tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
 </tr>
 <tr>
<td>Ernst Handel</td>
<td>Roland Mendel</td>
<td>Austria</td>
 </tr>
<tr>
<td>Island Trading</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr>
<td>Laughing Bacchus Winecellars</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
 </tr>
</table>

Любой другой контент, который может снова содержать тот же тег

...