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

HtmlTextNode & HtmlCommentNode,布布扣,bubuko.com

时间: 2024-08-08 09:41:18

HtmlTextNode & HtmlCommentNode的相关文章

HtmlDocument

HtmlDocument类对应着一个HTML文档代码.它提供了创建文档,装载文档,修改文档等等一系列功能,来看看它提供的功能. 一.属性 int CheckSum { get; }  如果 OptionComputeChecksum 设置为 true 之前解析,0 否则获取文档 CRC32 校验和.Encoding DeclaredEncoding { get; }  获取文档的声明的编码.声明确定编码使用 meta http-equiv ="内容类型"内容 ="文本/htm

HtmlAgilityPack - 简介

HtmlAgilityPack是.net下的一个HTML解析类库.支持用XPath来解析HTML.这个意义不小,为什么呢?因为对于页面上的元素的xpath某些强大的浏览器能够直接获取得到,并不需要手动写.节约了大半写正则表达式的时间,当然正则表达式有时候在进一步获取的时候还需要写,但是通过xpath解析之后,正则表达式已经要匹配的范围已经非常小了.而且,不用正则表达式在整个页面源代码上匹配,速度也会有提升.总而言之,通过该类库,先通过浏览器获取到xpath获取到节点内容然后再通过正则表达式匹配到

黄聪:HtmlAgilityPack,C#实用的HTML解析类简介

HtmlAgilityPack是.net下的一个HTML解析类库.支持用XPath来解析HTML.这个意义不小,为什么呢?因为对于页面上的元素的xpath某些强大的浏览器能够直接获取得到,并不需要手动写.节约了大半写正则表达式的时间,当然正则表达式有时候在进一步获取的时候还需要写,但是通过xpath解析之后,正则表达式已经要匹配的范围已经非常小了.而且,不用正则表达式在整个页面源代码上匹配,速度也会有提升.总而言之,通过该类库,先通过浏览器获取到xpath获取到节点内容然后再通过正则表达式匹配到