2012-03-21 60 views
1

我想自動縮進HTML5輸出。我嘗試使用的工具是JTidy,但問題是它不支持HTML5元素,例如它會將所有元素移動到標題中,而HTML5在正文中使用它們。漂亮的格式化HTML5輸出

由於HTML不是XML,因此我無法使用典型的Java XML工具進行縮進。

+0

HTML可以是XML。你可以讓你的HTML像XML一樣(關閉所有的標籤等),然後這些工具應該可以工作。 – 2012-03-21 16:41:38

+2

不一定如此:例如,作爲HTML5中的空屬性的「itemscope」在XML中無效。 – 2012-03-21 16:47:08

+0

另外兩個例子。 HTML5的doctype不是有效的XML,並且有一些元素不應該被關閉,比如meta。 – 2014-10-13 20:38:18

回答

2

最強大的解決方案

這不是Java,但HTML Tidy for HTML5是由W3C和一個命令行工具,使得它非常靈活的維護。這是一個當前的分支,並按照GitHub home page for the project上的提交時間顯示來積極維護。

Java解決方案

如果你不能得到支持HTML5來工作,那麼XML仍然是一種選擇的latest version of HTML Tidy for HTML5

HTML5肯定不是在所有的設計爲XML友好的,但它確實 至少給口惠在 HTML5,其中,在這篇文章中,我會打電話給XHTML5的XML序列化的形式。 ..

有一個XML serialization of HTML5允許您使用任何標準的XML格式工具,以任何你想要的格式進行格式化。

+0

嗯,我意識到這一點,但我們想堅持HTML5。 – 2012-03-21 16:46:17

+0

我只是投票,因爲HTML Tidy是一個不完整的算法,不再被主動維護。我相信有人會推薦它,因爲他們對應用程序的名稱非常熟悉,並且使用它的次數比他們推薦的要少,但對替代品的意識不夠。 – austincheney 2012-03-29 02:12:50

+0

@austincheney然後你投票無知,閱讀理解,這是HTML HTML Tidy HTML5 **這是一個分支和積極維護,如果你看看在GitHub上的提交時間,他們顯示活動在*小時*和*天*,就是**積極**保持據我所知。 – 2012-03-29 12:27:30