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

 

主页:http://code.msdn.microsoft.com/SgmlReader  

 

语言:英文  授权形式:开源

 

相关网址:


http://msdn.microsoft.com/en-us/library/aa302299.aspx

 

下载页(SourceForge)  SgmlReader 1.8   MSDN代码库

posted @ 2014-06-23 22:38  左正  阅读(257)  评论(0编辑  收藏  举报