将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代码库

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

时间: 2024-08-27 14:00:41

将Html文档整理为规范XML文档的相关文章

源生API解析XML文档与dom4j解析XML文档

一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可以存储数据. 1.XML语言书写的注意事项 1.XML标签命名自定义[推荐英文],标签名中不能包含空格 2.XML空格和换行都表示数据,严格区分大小写 3.XML中特殊字符表示的数据需要使用特殊字符编码和HTML一样 4.CDATA区中的数据不会被识别为语法 <![CDATA[王天霸<>&l

XML文档类型定义---XML Schema结构

5.1 Schema概述 XML Schema是2001年5月正式发布的W3C的推荐标准,经过数年的大规模讨论和开发如今终于尘埃落定,成为全球公认的XML环境下首选的数据建模工具. 使用DTD虽然带来较大的方便,但是,DTD存在一些缺陷:一是它用不同于XML的语言编写,需要不同的分析器技术.这增加了工具开发商的负担,降低了软件瘦身的可能性,此外开发人员需要多学一门语言及其语法.而XML Schema是按标准XML规则编写的,更容易掌握.二是DTD不支持名称空间.随着大部分的数据处理日益以XML为

Ionic2文档整理

来自:Rainey's Blog 原文地址:http://rainey.space/2016/04/06/Ionic2_Chinese_Document/ Github:https://github.com/XueRainey/ionic2 ionic2文档整理 发表于 2016-04-06   | 本文档不是英文文档的完全翻译,是个人的阅读笔记.如果阅读后有不明白或者不懂,请移步英文版阅读.如果本文有错误,请在本页末尾留言或者提交Issues. 您可以点击小标题跳转到相应的ionic2英文文档

XML文档追加内容,读取内容

<> 1>从根节点开始追加 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace 追加XML { class Program { static void Main(string[] args) { //追加XML文档(追加X

XML 文档的结构

XML 文档的组成 一个XML文档由两部分构成:第一部分是文档序言,第二部分是文档元素(节点). 1.文档序言 文档序言通常位于XML文档的顶端,根元素之前出现,它是一个特定的包含XML 文档设定信息的部分.XML 文档序言由如下几个部分组成: XML 声明:用来设置XML文档解析时所需的基本参数. 处理指令:为某个特定类型的软件反馈一条特殊的指令. 文档类型定义:用来设置更多高级的信息,如实体.属性及有效性相关的信息. 注释:用于提醒XML文档作者或临时标注出文档中不完善的部分. 2.文档元素

关于XML文档的讲解

1        XML的概述 1.1 什么是XML XML全称为Extensible Markup Language,意思是可扩展的标记语言.XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的. W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用.同时,在2004年2月W3C又发布了1.0版本的第三版.我们要学习的还是1.0版本!!! 1.2 XML的应用场景 保存关系型数

DOM和SAX是应用中操纵XML文档的区别

DOM和SAX是应用中操纵XML文档的两种主要API,它们分别解释如下: DOM,即Document Object Model,中文叫文档对象模型.DOM是W3C定义的标准文档对象模型,是一个与操作系统和编程语言无关的.用于内存存储和操作层次化文档的模型.当按 照DOM模型解析XML文档时,就会在内存中构造一个对应的DOM树,它可以用于不同 节点之间的遍历.然而,在遍历之前必须先完成DOM树的构造.因此, 在处理规模较大的XML文档时就很耗内存,占用资源较多.尤其是只需要操作文档中一小部分时效率

dom4j 解析 XML文档截录

dom4j 是一种解析 XML 文档的开放源代码 XML 框架.本文介绍如何使用包含在 dom4j 中的解析器创建并修改 XML 文档. dom4j API 包含一个解析 XML 文档的工具.本文中将使用这个解析器创建一个示例 XML 文档.清单 1 显示了这个示例 XML 文档,catalog.xml. 清单 1. 示例 XML 文档(catalog.xml) <?xml version="1.0" encoding="UTF-8"?> <cat

XML DOM 遍历Xml文档

1.xml文档内容: <?xml version="1.0" encoding="utf-8" ?> <bookstore> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>200