weixin_48299560 2022-03-10 15:00 采纳率: 50%
浏览 42
已结题

在winform的HttpWebRequest请求中,返回的html页面有很多个table表格,利用正则表达式只拿到其中的一个

就比如
第一个TABLE

(内容)
第二个TABLE
(内容)
现在我只想拿到第一个table里面的tr td
  • 写回答

1条回答 默认 最新

  • 码老头 2022-03-10 15:59
    关注

    建议使用AngleSharp,示例如下:

    using AngleSharp;
    using System;
    using System.Linq;
    
    namespace ConsoleApp2
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                DoWork();
                Console.ReadKey();
            }
    
            static async void DoWork()
            {
                var html = @"<table>
        <tr>
            <td>表1-第1行第1列</td>
            <td>表1-第1行第2列</td>
        </tr>
        <tr>
            <td>表1-第2行第1列</td>
            <td>表1-第2行第2列</td>
        </tr>
    </table>
    <table>
        <tr>
            <td>表2-第1行第1列</td>
            <td>表2-第1行第2列</td>
        </tr>
        <tr>
            <td>表2-第2行第1列</td>
            <td>表2-第2行第2列</td>
        </tr>
    </table>";
                var config = Configuration.Default;
                var context = BrowsingContext.New(config);
                var document = await context.OpenAsync(req => req.Content(html));
                var table1 = document.QuerySelectorAll("table").FirstOrDefault();
                var rows = table1.QuerySelectorAll("tr");
                foreach (var row in rows)
                {
                    var cells = row.QuerySelectorAll("td");
                    foreach (var cell in cells)
                    {
                        Console.WriteLine($"{cell.TextContent}");
                    }
                }
            }
        }
    }
    

    运行结果:

    img

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月11日
  • 创建了问题 3月10日

悬赏问题

  • ¥50 带防重放token(Antireplay-Token)的网站怎么用Python发送请求
  • ¥15 visa版本没问题,串口调试助手调试串口正常使用,但是labview刷新不出来
  • ¥15 java MQTT SSL证书
  • ¥20 求一个手机号或者Wxid转微信号的工具
  • ¥20 msconfig开启安全引导后重启电脑黑屏
  • ¥15 对email表单做了一般邮箱正则校验,现在需要额外输入为hotmail或outlook、gmail时做特定邮箱校验,不符合提示出来。并且保证不影响其他正确的邮箱格式通过校验,通过不会提示。
  • ¥20 Win11,bitblocker密钥恢复失败
  • ¥15 stm32 cubemx配置sdram,初始化后无法读写sdram
  • ¥100 上位机到dtu再到485继电器模块 目前结束命令有百分之2左右概率执行失败求指导
  • ¥15 ifcopenshell库在vs2019下的配置