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

如何使用C#从本地HTML文件提取数据并赋值给变量

C# 从本地HTML文件提取指定内容并赋值变量

需求说明

从本地路径 file:///C:/WORK/data/sample.html 的HTML文件中,提取Sample Businessname(企业名称)和https://sample.com/(网站地址),并通过C#将这两个值赋值给对应变量。

目标HTML结构

<div class="row">
<label class="">Business Name:</label>
<div class="data">Sample Businessname</div>
</div>
<div class="row">
<label class="">Website Address:</label>
<div class="data"><a href="https://sample.com/" target="_blank">https://sample.com/</a> </div>
</div>

C# 实现方案

使用HtmlAgilityPack库(需通过NuGet安装)解析HTML,这是处理HTML解析的可靠方案,避免正则表达式解析HTML的潜在问题。

步骤1:安装HtmlAgilityPack

在NuGet包管理器控制台执行命令:

Install-Package HtmlAgilityPack

步骤2:提取内容的代码实现

using HtmlAgilityPack;
using System;

class Program
{
    static void Main()
    {
        // 本地HTML文件路径
        string filePath = @"C:\WORK\data\sample.html";
        
        // 加载HTML文档
        HtmlDocument doc = new HtmlDocument();
        doc.Load(filePath);
        
        // 提取企业名称
        string businessName = doc.DocumentNode.SelectSingleNode("//div[label[text()='Business Name:']]/div[@class='data']")?.InnerText.Trim();
        
        // 提取网站地址(可选择获取a标签文本或href属性)
        string websiteUrl = doc.DocumentNode.SelectSingleNode("//div[label[text()='Website Address:']]/div[@class='data']/a")?.InnerText.Trim();
        // 若需直接获取href属性值,替换为:
        // string websiteUrl = doc.DocumentNode.SelectSingleNode("//div[label[text()='Website Address:']]/div[@class='data']/a")?.GetAttributeValue("href", string.Empty);
        
        // 输出结果或赋值给变量使用
        Console.WriteLine($"企业名称: {businessName}");
        Console.WriteLine($"网站地址: {websiteUrl}");
    }
}

代码说明

  • 用XPath定位目标元素:通过label文本找到对应row容器,再获取class="data"的子元素内容。
  • 针对网站地址,可根据需求选择提取a标签文本或直接获取href属性值。
  • 加入?.空值判断避免空引用异常,提升代码健壮性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 21:58:12