将Html文档整理为规范XML文档

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

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

分类:  ASP.NET
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/3805124.html ,如需转载请自行联系原作者
相关文章
|
8月前
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
280 7
使用Java和XPath在XML文档中精准定位数据
|
7月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
82 1
|
4月前
|
XML 存储 数据格式
HTML(HyperText Markup Language)和XML(Extensible Markup Language)
HTML(HyperText Markup Language)和XML(Extensible Markup Language)
80 16
|
5月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
130 5
|
7月前
|
前端开发 JavaScript
html中id和class的相同和不同之处及用法的规范与区别
在HTML中,`id`和`class`都用于标识和选择元素,但存在一些关键差异。
|
7月前
|
JavaScript 前端开发 UED
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
|
6月前
|
XML Web App开发 数据格式
HTML 页面显示 XML 数据
10月更文挑战第2天
|
8月前
|
移动开发 HTML5
HTML5文档基本格式
【8月更文挑战第28天】HTML5文档基本格式。
77 4
|
8月前
|
移动开发 HTML5
HTML5文档头部相关标记
【8月更文挑战第28天】HTML5文档头部相关标记。
71 1
|
8月前
HTML 文档的两个主要结构元素是什么?
【8月更文挑战第24天】
140 0