Android - Извлекайте HTML с тегом и рассчитывайте на результат - PullRequest
0 голосов
/ 21 мая 2018

Я получил объект JSON, который возвращает длинную строку с html-содержимым. Можно ли в любом случае получить определенный текст из этой html-строки и назначить поместить его в textview?то, что я хочу получить - это, вероятно, содержимое под <h1> & <p> и выбросить все остальные.

\r\n<div class=\"page-title-wrap sx-hide\">\r\n    
<div class=\"page-title clearfix\">\r\n        
<div class=\"col-lg-12\">\r\n  <h1>Latest Deals</h1>\r\n </div>\r\n  </div>\r\n
</div>\r\n\r\n<div class=\"breadcrumb-wrapper\">\r\n    
<ul class=\"breadcrumb\">\r\n        
<li><a href=\"/Home\">Home</a></li>\r\n        
<li><a href=\"/Deals\">Deals</a></li>\r\n        
<li class=\"active\">Great promotion! Is now RM 95 only!
</li>\r\n    
</ul>\r\n
</div>\r\n\r\n
<div class=\"article outer clearfix\">\r\n    
<div class=\"col-sm-12\">\r\n        
<img alt=\"" title=\"Great promotion! Is now RM 95 only!\" src=\"">\r\n        
<h1>Great promotion! Is now RM 95 only!</h1>\r\n        
<p class=\"date\">March 28th, 2017</p>\r\n        
<p><strong class=\"text-red\"></strong></p>\r\n        
<p>This is the paragraht that shows the description of the promotion deals. You can write anything here.\r\n </p>\r\n        
<p>The buses offered by Alisan Golden Coach are in single deck or double deck. All of the buses are equip with air-conditioning and comfortable seats to ensure passengers are comfortable while travelling on the long journeys.</p>\r\n\r\n        
<p>Book your bus ticket before too late and enjoy the great saving.</p>\r\n\r\n\r\n\r\n\r\n\r\n\r\n        
<div class=\"m-top30 m-bottom20\">\r\n    
<a href=\"/home\" class=\"btn btn-lg btn-orange\">Home</a>\r\n\r\n    \r\n\r\n\r\n</div>\r\n\r\n\r\n
<div id=\"fb-root\"></div>\r\n<script>\r\n    (function(d, s, id) {\r\n      var js, fjs = d.getElementsByTagName(s)[0];\r\n      if (d.getElementById(id)) return;\r\n      js = d.createElement(s); js.id = id;\r\n      js.async = true;\r\n      js.src = '';\r\n      fjs.parentNode.insertBefore(js, fjs);\r\n    }(document, 'script', 'facebook-jssdk'));</script>\r\n\r\n
<div class=\"fb-share-button\" data-href=\"http://google.com/\" data-layout=\"button_count\" data-size=\"large\" data-mobile-iframe=\"true\">\r\n    
<a target=\"_blank\" href=\"" class=\"fb-xfbml-parse-ignore\">Share</a>\r\n</div>\r\n    </div>\r\n</div>

в основном, содержимое <h1> будет назначено текстовому представлению "Заголовок", и я собирался взять содержимое из первого <p> и последнего </p> (Последний / p перед div классом), чтобы поместить его в веб-просмотр, так как я хочу, чтобы расположение абзаца.

========================== РЕДАКТИРОВАТЬ ====================
Я успешно получил контент с помощью Jsoup, осознал, что с помощью .text () получим все элементы с тегом и поместим водна строка, однако, я хочу получить результат, который будет поддерживать формат <p> при загрузке в представление HTML.Любая идея, я могу сделать с этим?

Document doc = Jsoup.parse(content); Elements eTitle = doc.getElementsByTag("h1"); Elements eBody = doc.getElementsByTag("p"); binding.fragmentWebview.loadData("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">" + eBody.text(), "text/html; charset=utf-8","UTF-8");

...