摘要:前几天我在博客园转载了一篇"net HtmlParser初步使用研究"的文章,之后看过文章评论才知道原来现在已经有HtmlAgilityPack这个类库可以更方便地对HTML内容进行分析和提取。因此今天特别学习和实践了一下HtmlAgilityPack和XPath,并作下笔记。HtmlAgilityPack是用C#写的开源Html Parser。不过可能在某些方面设计不尽完善,或者是对中文的支持并不是很好,例如,抓取中文页面时就出现乱码.我的代码如下:HtmlWebhw=newHtmlWeb();HtmlDocumentdoc=hw.Load("http://ww
阅读全文
摘要:这两天准备做一些网站编程的工作,于是对HtmlParse小研究了一下,目的是快速入手,而不是深入研究,做了一下整理,和大家共同讨论一下。 一,数据组织分析:HtmlParser主要靠Node、AbstractNode和Tag来表达Html,因为Remark和Text相对简单,此处就将其忽略了。Node是形成树结构表示HTML的基础,所有的数据表示都是接口Node的实现,Node定义了与页面树结构所表达的页面Page对象,定义了获取父、子、兄弟节点的方法,定义了节点到对应html文本的方法,定义了该节点对应的起止位置,定义了过滤方法,定义了Visitor访问机制。AbstractNode是Nod
阅读全文
摘要:背景:HTMLParser原本是一个在sourceforge上的一个Java开源项目,使用这个Java类库可以用来线性地或嵌套地解析HTML文本。他的 功能强大和开源等特性吸引了大量Web信息提取的工作者。然而,许多.net开发者朋友一直在寻找一种能在.net中使用的HTMLParser类库,笔 者将介绍Winista.HTMLParser类库,对比于其他原本数量就非常少的.net版HTMLParser类库,Winista的版本的类库结构 可以说更接近于原始Java版本。该类库目前分为Utltimate、Pro、Lite和Community四个版本,前三个版本都是收费的。只有Community
阅读全文
摘要:本文介绍了.net 版的一个HTMLParser网页解析开源类库(Winista.HTMLParser)的功能特性、工作原理和使用方法。对于使用.net进行Web信息提取的开发人员进行了一次HTMLParser的初步讲解。应用实例将会在日后的文中介绍,敬请关注。 一、背景知识 HTMLParser原本是一个在sourceforge上的一个Java开源项目,使用这个Java类库可以用来线性地或嵌套地解析HTML文本。他的功能强大和开源等特性吸引了大量Web信息提取的工作者。然而,许多.net开发者朋友一直在寻找一种能在.net中使用的HTMLParser类库,笔者将介绍Winista.HTMLP
阅读全文
摘要:通常我们在编辑内容的时候会用将原来的数据载入到这个表单里面来,以便用户直接更改.代码与如下类似: if (Labs.Utils.ValidateUtil.IsNumber(ActionId)) { int ActionIdForInt = Convert.ToInt32(ActionId); model = bll.GetModel(ActionIdForInt); if (model != null) { //这里我用到了VTL模板引擎 VelocityContext.Put("CmsType", model.CmsType); VelocityContext.Put(&
阅读全文
摘要:/// <summary> /// 获取类中的属性值 /// </summary> /// <param name="FieldName"></param> /// <param name="obj"></param> /// <returns></returns> public string GetModelValue(string FieldName, object obj) { try { Type Ts = obj.GetType(); object
阅读全文