【问题标题】:Get tag out of html with C#?使用 C# 从 html 中获取标签?
【发布时间】:2026-01-18 05:20:06
【问题描述】:

我有这个 html 标签:

<img src="/Student/ExaminationImage?name=figuur" />

我想把它去掉:/Student/ExaminationImage?name=figuur 和第二个字符串:figuur

我该怎么做?

我尝试了所有方法,但没有任何效果。

格子

【问题讨论】:

标签: c# html tags


【解决方案1】:

Html Agility Pack 是解析 HTML 的好工具。

【讨论】:

  • 是的,我明白了,这可能没问题。但我拥有的是一个字符串。而不是文档..所以我有一个字符串,里面有这个 html 代码......
【解决方案2】:

如果它总是格式良好的 XML,你总是可以使用 linq to xml

string imageTag = "<img src=\"\/Student\/ExaminationImage?name=figuur\" />"

string src = XElement.Parse(imageTag ).Attribute("src").Value;

【讨论】:

    【解决方案3】:

    扩展@Albin 的回答:

    HTML Agility Pack 是一种非常强大、可靠的方法来处理这个问题,而且确实是要走的路。

    但是,当且仅当您可以保证您的标签 a) 已经隔离在一个字符串中,并且 b) 始终与您所描述的格式相同,您可以使用以下方法:

        static void Main(string[] args)
        {
            var tag = @"<img src=""/Student/ExaminationImage?name=figuur"" />";
    
            Console.WriteLine("Tag: {0}", tag);
    
            var tagParts = tag.Split(new[] {'"'},StringSplitOptions.RemoveEmptyEntries);
    
            var src = tagParts[1];
    
            Console.WriteLine("Src: {0}", src);
    
            var srcParts = src.Split('?');
    
            Console.WriteLine("Parameters: {0}", srcParts[1]);
    
            Console.ReadLine();
        }
    

    【讨论】: