首页新闻找找看学习计划

C# 正则根据某个class 匹配所有html元素

0
悬赏园豆:15 [待解决问题]

<a onclick="" id="ContentPlaceHolder1_rpt_list_LinkButton2_0" class="btn btn-danger btn-xs delete ROLE_Button_SaveSysConfig" href="" style="display: inline-block;">保存</a>

<input type="text" onclick="" id="ContentPlaceHolder1_rpt_list_LinkButton2_0" class="btn btn-danger btn-xs delete ROLE_Button_SaveSysConfig" href="" style="display: inline-block;" />

根据class包含 “ROLE_Button_SaveSysConfig” 匹配出上面的元素,不一定是a标签不一定是input,有可能是div,li span 等等,只要class包含了 就匹配出来这个闭合元素

Diose的主页 Diose | 初学一级 | 园豆:6
提问于:2019-07-12 12:04
< >
分享
所有回答(3)
0

换个方式:HtmlAgilityPack + Linq 简洁方便。

花飘水流兮 | 园豆:8639 (大侠五级) | 2019-07-12 13:18

嗯 用HtmlAgilityPack 解决了

支持(0) 反对(0) Diose | 园豆:6 (初学一级) | 2019-07-12 17:00
0

可以使用 AngleSharp ,示例代码如下:

class Program
{
    static async Task Main(string[] args)
    {
        var html = @"<a onclick="""" id=""ContentPlaceHolder1_rpt_list_LinkButton2_0"" class=""btn btn-danger btn-xs delete ROLE_Button_SaveSysConfig"" href="""" style=""display: inline-block;"">保存</a>
                        <input type=""text"" onclick="""" id=""ContentPlaceHolder1_rpt_list_LinkButton2_0"" class=""btn btn-danger btn-xs delete ROLE_Button_SaveSysConfig"" href="""" style=""display: inline-block;"" />";

        var context = BrowsingContext.New(Configuration.Default);
        var document = await context.OpenAsync(req => req.Content(html));
        var elements = document.QuerySelectorAll(".ROLE_Button_SaveSysConfig");
        foreach(var element in elements)
        {
            Console.WriteLine(element.Id);
        }
    }
}
dudu | 园豆:41254 (高人七级) | 2019-07-12 13:42

换HtmlAgilityPack 解决了

支持(0) 反对(0) Diose | 园豆:6 (初学一级) | 2019-07-12 17:01
0

换HtmlAgilityPack 解决了

Diose | 园豆:6 (初学一级) | 2019-07-12 17:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册