在HtmlAgilityPack里,HtmlTextNode对应的是文本节点。这是一个非常简单的一个类,方法和字段都比较少。
一、属性
override string InnerHtml { get; set; } 文本内的HTML代码(不包括自身)
override string OuterHtml { get; } 整个文本节点的Html代码
string Text { get; set; } 文本字符串
二、方法
internal HtmlTextNode(HtmlDocument ownerdocument, int index);
代码示例:
static void Main(string[] args) { //<ul class="user_match clear"> // <li>年龄:21~30之间</li> // <li>婚史:未婚</li> // <li>地区:不限</li> // <li>身高:175~185厘米之间</li> // <li>学历:不限</li> // <li>职业:不限</li> // <li>月薪:不限</li> // <li>住房:不限</li> // <li>购车:不限</li> //</ul> WebClient wc = new WebClient(); wc.BaseAddress = "http://www.juedui100.com/"; wc.Encoding = Encoding.UTF8; HtmlDocument doc = new HtmlDocument(); string html = wc.DownloadString("user/6971070.html"); doc.LoadHtml(html); HtmlNode node = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[2]/ul[1]/li[1]"); //根据XPath查找节点,跟XmlNode差不多 //在此处node是第一个li节点 HtmlTextNode tNode = node.FirstChild as HtmlTextNode; Console.WriteLine(tNode.Text); //输出 年龄:21~30之间 Console.WriteLine(tNode.InnerHtml); //输出 年龄:21~30之间 Console.WriteLine(tNode.OuterHtml); //输出 年龄:21~30之间 奇怪没什么变化 Console.ReadKey(); }
HtmlCommentNode类与HtmlTextNode几乎一样,因此不再叙述。