You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何将HTML表格的href链接提取后插入生成的JSON中

实现方案

你原有代码已经完成了基础列名与文本值的提取,仅需额外提取两个有效<a>标签的href属性,映射为PDF和User字段即可,修改后完整代码如下:

Dictionary<string, object> myDict = new Dictionary<string, object>();
foreach (var table in doc.DocumentNode.SelectNodes("//table[@id='formTbl']"))
{
    foreach (var row in table.SelectNodes("tbody/tr"))
    {
        var cells = row.SelectNodes("td");
        // 原有逻辑提取列名和对应文本值,增加Trim处理多余空白字符
        myDict.Add(cells[0].InnerText.Trim(), cells[1].InnerText.Trim());
        
        // 新增逻辑提取有效链接
        var links = cells[1].SelectNodes(".//a");
        if (links != null)
        {
            foreach (var link in links)
            {
                var href = link.GetAttributeValue("href", string.Empty).Trim();
                // 过滤空链接和javascript类无效功能链接
                if (string.IsNullOrEmpty(href) || href.StartsWith("javascript:"))
                    continue;
                
                // 按链接特征匹配对应字段
                if (href.EndsWith(".pdf"))
                {
                    myDict["PDF"] = href;
                }
                else if (href.Contains("/User/"))
                {
                    myDict["User"] = href;
                }
            }
        }
    }
}
var json = JsonConvert.SerializeObject(myDict, Newtonsoft.Json.Formatting.Indented);
Console.WriteLine(json);

执行上述代码后序列化输出的JSON结构完全符合你的预期要求。

内容的提问来源于stack exchange,提问作者Justyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:24:03