// 从物理路径的文件加载 var doc = new HtmlDocument(); doc.Load(filePath);//文件路径
var doc = new HtmlDocument(); doc.LoadHtml(html);
var url = “http://www.cnblogs.com/xuliangxing/”; var web = new HtmlWeb(); var doc = web.Load(url);
var value = doc.DocumentNode .SelectNodes("//td/input") .First() .Attributes[“value”].Value; /下面的意思是:通过属性id的值,来定位header下的blogTitle节点信息 4 HtmlNode titleNode = doc.DocumentNode.SelectSingleNode("//div[@id=‘header’]/div[@id=‘blogTitle’]"); 备注:注意路径里"//“表示从根节点开始查找,两个斜杠‘//’表示查找所有childnodes;一个斜杠’/'表示只查找第一层的childnodes(即不查找grandchild);点斜杠”./"表示从当前结点而不是根结点开始查找。
我们还可以不通过属性id去定位,还有通过索引去定位,如下所示,这个效果和上面是等同的 下面的意思是:通过索引定位,div[2]是表示根节点的第二个 HtmlNode titleNode = doc.DocumentNode.SelectSingleNode("//div[2]/div[1]");
HtmlNode单个节点和SelectSingleNode一起使用, HtmlNodeCollection返回所有的子节点和SelectNodes一起使用
HtmlNode类设计了OuterHtml属性和InnerHtml属性用于获取当前节点的Html源码。两者不同之处是, OuterHtml属性返回的是包含当前节点的Html代码在内的所有Html代码,而InnerHtml属性返回的是当前节点里面子节点的所有Html代码, InnerText属性过滤掉了所有的Html标记代码,只返回文本值。
如何去掉外层的html tag只留下文本内容 用remove方法。那你需要先得到这个Html结点,通过remove方法删除掉多余的HTML Tag假设该节点叫Node:Node.ParentNode.RemoveChild(Node,true);
可以用一个textbox来接收获得的节点并显示出来。在控制台程序用文本文档保存和显示
用remove方法。那你需要先得到这个Html结点,通过remove方法删除掉多余的HTML Tag假设该节点叫Node:Node.ParentNode.RemoveChild(Node,true);