2012-07-09 76 views
1

除了HtmlAgilityPack和Tidy,您可以建議哪些庫?使HTML符合XHTML標準的庫

爲了能夠將XPath查詢應用於HTML內容,我使用Tidy作爲控制檯程序以獲得C#XmlDocument或Html Agility Pack。這兩個庫都已經過時 - HAP不是因爲-2010和整潔自2008年以來我一直在使用HAP糟糕的體驗,因爲它甚至沒有申請下招後,通過關閉標籤修復的文檔結構發生變化:

public static HtmlDocument MakeEmptyDocument() 
{ 
    HtmlDocument doc = new HtmlDocument(); 
    doc.OptionAutoCloseOnEnd = true; 
    doc.OptionFixNestedTags = true; 
    doc.OptionOutputAsXml = true; 
    doc.OptionWriteEmptyNodes = true; 
    return doc; 
} 

public static HtmlDocument LoadHtmlDocumentFromString(string content) 
{ 
    HtmlDocument doc = MakeEmptyDocument(); 
    doc.LoadHtml(content); 
    StringBuilder sb = new StringBuilder(); 
    using (StringWriter sw = new StringWriter(sb)) 
     doc.Save(sw); 

    using (StringReader sw = new StringReader(sb.ToString())) 
     doc.Load(sw); 
    return doc; 
} 

一般我更喜歡Tidy,但現在我有一個案例,它完全打破了非常簡單的文檔,並從中刪除了BIG內容部分。因此它看起來像我們需要可以從.NET使用的替代品。

回答

0

Tidy項目已被HTACG(HTML Tidy Advocacy Community Group)接管,現在已經發布了tidy5(截至2015年末),libtidy庫提供了一個C接口,「可以從大量的編程語言」。參見以下內容:

HTML Tidy Project (Developers Section)