2009-07-07 100 views
0

是否有一個.NET實用程序需要一個HTML片段(而不是整個文檔)並輸出一個兼容的標準HTML等價物?自動HTML標準化?

IE,<b>die Bundesliga Mannschaften</b><span style="font-weight:bold">die Bundesliga Mannschaften</span>都解決相同的問題。

我並沒有試圖修復任何東西,只是標準化了一些結構良好的,儘管過時的描述文本,以便最終的輸出格式爲混合格式。

感謝

+0

內聯或在源? – Lazarus 2009-07-07 15:15:00

+1

示例(b vs span)不等效。它們看起來可能沒有任何其他樣式表應用,但它們有不同的語義。 – sisve 2009-07-07 16:00:17

+0

是的,我知道這些不完全相同,我試圖做的是有點不尋常,不是典型的HTML Tidy類型操作。儘管如此,我確信有人曾經嘗試過這樣做。 – Paul 2009-07-08 02:34:43

回答

0

我想我在Microsoft.mshtml命名空間中找到了我需要的東西。

1

有沒有在.net任何HTML正常化的工具,我所知道的,但是,一個良好的開端是Tidy(或fork of the original)。此時,您有機會能夠將.Net中的HTML解釋爲DOM文檔,然後根據您提出的一些規則轉換各個部分。如果給你XHTML,你的工作可能會更容易,只需要一個CSS解釋器來處理樣式屬性作爲規範化代碼的一部分。

或者,您可以將從從Java移植到.Net。

1

請注意,均爲您提供的字符串是有效的,符合標準的HTML。您可能想要將相等的表示標記轉換爲規範格式。我不知道自動執行此操作的工具,但可以使用XSLT來解決此問題。

編輯:sixlettervariables指出你不能在XSLT中解析CSS。所以技巧是將<b>轉換爲<span style="font-weight:bold">而不是其他方式:-)