用DOM实现文章采集--通过jquery语法式的方法采集指定对象的文本

来源:未知 责任编辑:责任编辑 发表时间:2014-04-20 03:40 点击:

[csharp]
/// <summary> 
/// DOM查询器,用法跟jquery差不多 
/// </summary> 
public class DomQuery 

    /// <summary> 
    /// 获得节点 
    /// </summary> 
    /// <param name="_HtmlDocument"></param> 
    /// <param name="selector"></param> 
    /// <returns></returns> 
    /// <remarks>DOM选择器,用法跟jquery差不多</remarks> 
    public IList<HtmlNode> Get(HtmlDocument _HtmlDocument, string selector) 
    { 
        string[] Expressions = selector.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); 
 
        List<HtmlNode> hnList = new List<HtmlNode>(); 
 
        if (Expressions[0].StartsWith("#")) 
        { 
            hnList.Add(_HtmlDocument.GetElementbyId(Expressions[0].TrimStart('#'))); 
            hnList.RemoveAll(x => { return x == null; }); 
 
            if (Expressions.Length == 1) 
            { 
                return hnList; 
            } 
 
            for (int i = 1; i < Expressions.Length; i++) 
            { 
                hnList = Get(hnList, Expressions[i]); 
            } 
        } 
        else 
        { 
            hnList.AddRange(_HtmlDocument.DocumentNode.ChildNodes.Where(x => { return x.NodeType == HtmlNodeType.Element; })); 
 
            for (int i = 0; i < Expressions.Length; i++) 
            { 
                hnList = Get(hnList, Expressions[i]); 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • C#高级编程:数据库连接[1]
  • asp.net 设置GridView的选中行的实现代码
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET&#160;GridView列表代码示例
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1