HtmlTextNode & HtmlCommentNode

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

原文地址:https://www.cnblogs.com/kissdodog/p/2937838.html