在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几乎一样,因此不再叙述。