天天看點

将Html文檔整理為規範XML文檔

有多種方式可以在.NET 平台進行HTML檔案解析、資料提取,其中最簡單、穩妥的辦法是先使用工具将Html文檔整理成XML文檔,再通過XML Dom模型或XPath靈活地進行資料處理。SGML便是一個Html文檔整理工具類庫:

Microsoft的XML大師Chris Lovett專門開發了一個SGML解析器,叫做SgmlReader,它可以解析HTML檔案,甚至将它們轉換成一個格式規範的結構。 SgmlReader派生于XmlReader,這就是說,你可以像運用諸如XmlTextReader這樣的類來解析XML檔案那樣來解析HTML文 件。 

這是一段示例代碼:

public static XmlDocument ConvertHtmlToXml(string html)    

   using (SgmlReader sgmlReader = new SgmlReader()) {    

       sgmlReader.DocType = "HTML";    

       sgmlReader.InputStream = new StringReader(html);    

       using (StringWriter stringWriter = new StringWriter()){    

           using (XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter))    

           {    

               while (!sgmlReader.EOF) {    

                   xmlWriter.WriteNode(sgmlReader, true);    

               }    

           }    

       }    

   }    

   XmlDocument xmlDoc = new XmlDocument();    

   xmlDoc.LoadXml(stringWriter.ToString());    

   return xmlDoc;    

語言:英文  授權形式:開源

相關網址:

<a href="http://msdn.microsoft.com/en-us/library/aa302299.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/aa302299.aspx</a>

本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/p/3805124.html,如需轉載請自行聯系原作者