有多种方式可以在.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代码库

04-27 23:30