关注开源代码的实际应用
有多种方式可以在.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://www.sifung.com/pages/743.shtm
http://msdn.microsoft.com/en-us/library/aa302299.aspx