C#HtmlAgilityPack.HtmlDocument和HtmlAgilityPack.HtmlNode的使用

10 篇文章 ¥9.90 ¥99.00
本文介绍了C#中如何利用HtmlAgilityPack库的HtmlDocument和HtmlNode类来解析和操作HTML文档。同时,详细讲解了如何进行XML节点的模糊查询和等值查询,例如使用contains(@属性, '模糊查询的值')进行模糊匹配。" 103064904,9157058,HTML打造Android机器人,"['Web基础', 'HTML', 'CSS']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C# HtmlDocument和HtmlNode的使用以及节点的模糊查询

 

C#HtmlAgilityPack.HtmlDocument和HtmlAgilityPack.HtmlNode的使用

复制代码

  HtmlAgilityPack.HtmlDocument response = null;
            //HtmlAgilityPack.HtmlNode类和HtmlAgilityPack.HtmlDocument类的使用!
            HtmlAgilityPack.HtmlNode responseNew = null;

            HtmlDocument doc = new HtmlDocument();
 wc.Encoding = Encoding.UTF8;
                          string html= wc.DownloadString(url);
                          doc.LoadHtml(html);

                          responseNew = doc.DocumentNode.SelectSingleNode("/html/body");     //根据XPath查找节点,跟XmlNode差不多

                    HtmlNodeCollection categoryNodeList = responseNew.SelectNodes("div[3]/div[1]/div[1]/div[1]/ul[1]/li");
                    foreach (HtmlNode item in categoryNodeList)
                    //foreach (HtmlNode item in ulS2.ChildNodes)
                    {
                        var xpath = item.XPath;
                        if (k % 2 != 0)
                        {
                            number = number + 1;
                            xpath = xpath.Replace("/#text[" + number + "]", "/li");//替换字符串
                        }
                      
                        k=k+1;
                        string titleName, infourl, company, city, date, salary, salary_em, source;
                        titleName = item.SelectSingleNode(xpath + "/div/div/span/a").InnerText;//
                        infourl = item.SelectSingleNode(xpath + "/div/div/span/a").Attributes["href"].Value; //url
}

复制代码

XML节点的模糊查询:contains(@属性,'模糊查询的值')

 ulS = response.DocumentNode.SelectNodes("//*[@id='resultList']/div[contains(@class,'el')]");

XML节点的等值查询

复制代码

ulS = response.DocumentNode.SelectNodes("//*[@id='resultList']/div[@class='el']");
  for (int i = 2; i < ulS.Count; i++)
                    {
                        var item = ulS[i];
                        var xpath = item.XPath;
                        string titleName;
                        titleName = item.SelectSingleNode(xpath + "/p/span/a").InnerText;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勿在浮沙筑高台

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值