2012-04-16 73 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能以某種方式清理它。我試着和右側下運行make一切......

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 tidy-upper可以完成上述示例的工作,但也允許我以String或org.w3c.dom.Document對象的形式訪問生成的HTML?

回答

0

基於this的答案,我會建議你使用JTidy的「整潔」的HTML源代碼。

+0

謝謝。 JTidy適用於我的情況。我在看他們的網站,最後一個版本似乎是從2007年開始的。這是否意味着該項目已經死亡? – Dave 2012-04-17 18:29:05

+0

看起來像你是對的 – vacuum 2012-04-17 18:35:08

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;">