您的位置:首页 > Web前端 > HTML

Html Agility Pack简单例子

2010-08-10 13:47 399 查看
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using HtmlAgilityPack;namespace DemoCnBlogs{class Program{static void Main(string[] args){HtmlWeb web = new HtmlWeb();HtmlDocument doc = web.Load("http://www.cnblogs.com/pick/");HtmlNode node = doc.GetElementbyId("post_list");StreamWriter sw = File.CreateText("log.txt");foreach(HtmlNode child in node.ChildNodes){if (child.Attributes["class"] == null || child.Attributes["class"].Value != "post_item")continue;HtmlNode hn = HtmlNode.CreateNode(child.OuterHtml);///如果用child.SelectSingleNode("//*[@class=/"titlelnk/"]").InnerText这样的方式查询,是永远以整个document为基准来查询,///这点就不好,理应以当前child节点的html为基准才对。Write(sw, String.Format("推荐:{0}", hn.SelectSingleNode("//*[@class=/"diggnum/"]").InnerText));Write(sw, String.Format("标题:{0}", hn.SelectSingleNode("//*[@class=/"titlelnk/"]").InnerText));Write(sw, String.Format("介绍:{0}", hn.SelectSingleNode("//*[@class=/"post_item_summary/"]").InnerText));Write(sw, String.Format("信息:{0}", hn.SelectSingleNode("//*[@class=/"post_item_foot/"]").InnerText));Write(sw, "----------------------------------------");}sw.Close();Console.ReadLine();}static void Write(StreamWriter writer, string str){Console.WriteLine(str);writer.WriteLine(str);}}}


结果:



摘自:/article/6965757.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: