2012-04-16 2 views
1

Я использую JSoup 1.6.2. У меня этот HTML ...Способ превратить этот плохо сформированный HTML в хорошо сформированный XHTML?

<a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;""> 

Обратите внимание на бродячую цитату прямо до конца тега. Я надеялся, что JSoup может как-то это очистить. Я стараюсь сделать все правильно, запустив ...

final org.jsoup.nodes.Document doc = Jsoup.parse(html); 

В результате

<a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;" "=""> 

который до сих пор не очень хорошо образован. Есть ли способ, который я могу взять плохо сформированный HTMl и сделать его хорошо сформированным с JSoup? Если это не так, есть ли еще один HTML-порядок, который может выполнить задание для приведенного выше примера, но также позволяет мне получить доступ к полученному HTML как к объекту String или org.w3c.dom.Document?

ответ

0

на основе this ответа, я рекомендую вам использовать JTidy для «кругленькую» источник HTML.

+0

Спасибо. JTidy работает в моей ситуации. Я смотрел их веб-сайт, последний выпуск, похоже, с 2007 года. Означает ли это, что проект умер? – Dave

+0

похоже, что вы правы – vacuum

0

Можете ли вы просто использовать регулярное выражение для замены, чтобы исправить это? Я не уверен, как это сделать в Java, но в JavaScript это будет что-то вроде этого:

var str = '<a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;"">'; 

var newStr = str.replace(/""/,'"'); 
//<a title="Subscribe to RSS feeds" href="http://domain/city/RSS" style="float:right; margin-left:10px;"> 
Смежные вопросы