当前位置: 首页 > 软件库 > Web应用开发 > HTML解析器 >

SGMLReader

HTML 和 SGML 解析库
授权协议 Apache
开发语言 C#
所属分类 Web应用开发、 HTML解析器
软件类型 开源软件
地区 不详
投 递 者 陈嘉荣
操作系统 Windows
开源组织
适用人群 未知
 软件概览

SgmlReader 是一个敏捷的 C# .NET 库,通过 XmlReader API 解析 HTML 和 SGML 文件。同时提供一个命令行工具可以对这些内容进行格式化输出到 XML 结果。

示例代码:

XmlDocument FromHtml(TextReader reader) {

    // setup SgmlReader
    Sgml.SgmlReader sgmlReader = new Sgml.SgmlReader();
    sgmlReader.DocType = "HTML";
    sgmlReader.WhitespaceHandling = WhitespaceHandling.All;
    sgmlReader.CaseFolding = Sgml.CaseFolding.ToLower;
    sgmlReader.InputStream = reader;

    // create document
    XmlDocument doc = new XmlDocument();
    doc.PreserveWhitespace = true;
    doc.XmlResolver = null;
    doc.Load(sgmlReader);
    return doc;
}
  • 运用.NET Framework类来解析HTML文件、读取数据并不是最容易的。虽然你可以用.NET Framework中的许多类(如StreamReader)来逐行解析文件,但XmlReader提供的API并不是“取出即可用(out of the box)”的,因为HTML的格式不规范。你可以用正则表达式(regular expression),但如果你对这些表达式运用不熟练,你可能开始时会觉得它

  • HtmlAgilityPack是一个开源的html解析器,底层是通过将html格式转成标准的xml格式文件来实现的(使用dot net里的XPathDocument等xml相关类),可以从这里下载:http://htmlagilitypack.codeplex.com。可以通过指定xpath路径提取需要的内容,上面那个网站也提供了一个自动生成xpath路径的工具HAP Explorer。缺点和上面

  • SgmlReader可以用来解析HTML/SGML,并能把不规范的Html转换成规范的XHtml string  SgmlTranslate( string  input) {     var  reader =  new   SgmlReader ();    reader.DocType =  "HTML" ;    reader.WhitespaceHandling =  Whitespac

  • Html Agility Pack/SgmlReader 解析html HtmlDocument htmlDoc = new HtmlDocument(); //输出成xml格式 htmlDoc.OptionOutputAsXml = true; / 加载html内容 htmlDoc.LoadHtml(@"<html><body> <table> <tr> <

  • SgmlReader SgmlReader是一个开源的解析器,运用SgmlReader类来解析HTML文件,并生成格式规范(well-formed)的HTML。 主站地址为:http://archive.msdn.microsoft.com/SgmlReader 下面代码使用SgmlReader格式化HTML: public static string Convert(string html) {

  • SgmlReader r = new SgmlReader();    r.DocType = "HTML";    r.InputStream = new StringReader(temp);    StringWriter sw = new StringWriter();    XmlTextWriter w = new XmlTextWriter(sw);    while (!r.EOF

 相关资料
  • 问题内容: 有人知道将SGML转换为XML的方法或库吗? 编辑:为澄清起见,我必须在Java中进行转换,并且无法使用SP解析器或相关的SX工具。 问题答案: 似乎普遍的共识是,没有可用的Java进行SGML工作的库。毫无疑问,经过几天无能为力的搜索Google并在这里提出这个问题之后,我没有找到有关此主题的资源。

  • 最近拿起Ruby,一直在摆弄它。我想学习如何使用regex或其他Ruby技巧来检查给定文本行中的某些单词、空格字符、有效格式等。 假设我有一个严格如下格式的订单列表: 分号后面有一个空格,每个逗号后面没有空格,结尾没有尾随空格等等。如何使用Ruby检查此格式中的错误?例如,我的检查应该失败: 我的目标是将字符串拆分为“”并检查第一个单词是否为“cost:”,第二个单词是否为数字等等,但我意识到拆分

  • 前面介绍了很多眼花缭乱的新技术,关于渲染,关于硬件加速,关于布局,关于其他很多,同大家一样,我也花了很多时间来消化它们。本章介绍稍微基础些的话题(本系列的写作顺序完全是随心所欲地),就是在渲染整个过程的初始阶段---HTML解析。不过这不表示它简单,其实这里是非常绕人的。在前面描述渲染过程,其实也是回避了这些方面的很多细节,原因也很简单,我自己也没有完全仔细地了解清楚. :-( 现在又重新阅读和d

  • 本文向大家介绍Oracle硬解析和软解析的区别分析,包括了Oracle硬解析和软解析的区别分析的使用技巧和注意事项,需要的朋友参考一下 一、摘要 Oracle硬解析和软解析是我们经常遇到的问题,所以需要考虑何时产生软解析何时产生硬解析,如何判断 SQL的执行过程 当发布一条SQL或PL/SQL命令时,Oracle会自动寻找该命令是否存在于共享池中来决定对当前的语句使用硬解析或软解析。 通常情况下,

  • 我有下面的XML文件,其中包含需要查找到站点的最短距离的站点。 解析后,我将这些数据存储在Station对象中,该对象实现了可比较的距离排序(我可以使用经度和纬度计算)。 所以问题是我得到的纬度和经度值不足(太多了,它们被存储在对象中): 当涉及到排序:我得到的比较方法违反了它的一般契约例外:/ 编辑:添加桩号类别:

  • 主要内容:1 原子类AtomicInteger,1.1 重要属性,1.2 重要方法,2 版本号原子类AtomicStampedReference,2.1 重要属性,2.2 重要方法,3 案例,4 总结基于JDK1.8详细介绍了JUC下面的AtomicInteger和AtomicStampedReference原子类源码和原理。 1 原子类AtomicInteger 1.1 重要属性 AtomicInteger用于实现通过原子的方式更新单个变量。AtomicInteger 中保存了一个核心字段va

  • 简易 XML 操作 通过本文,您将了解使用 Groovy 分解 XML 是多么地容易。在本期的 实战 Groovy 中,作者 Scott Davis 演示了无论您是使用 MarkupBuilder 和 StreamingMarkupBuilder 创建 XML,还是使用 XmlParser 和 XmlSlurper 解析 XML,Groovy 都提供了一系列用于处理这类流行数据格式的工具。 XML

  • 本文向大家介绍django反向解析和正向解析的方式,包括了django反向解析和正向解析的方式的使用技巧和注意事项,需要的朋友参考一下 本文介绍了Django的正向解析和反向解析,分享给大家,具体如下: 先创建一个视图界面 urls.py   index.html   index页面加载的效果 正向解析 所谓正向解析就是直接在这里写地址 向urls.py里面一样 例如: test/p1/p2 反向