.NET框架是否提供解析HTML字符串的方法?

Jel*_*Ama 8 .net html c# parsing

知道我不能使用HTMLAgilityPack,只能使用直接的.NET,比如我有一个字符串,其中包含一些我需要以这种方式解析和编辑的HTML:

  • 按ID或按标签查找层次结构中的特定控件
  • 修改(并理想地创建)找到的元素的属性

.net中是否有可用的方法?

Onu*_*nur 5

的HTMLDocument

的getElementById

的HtmlElement

您可以创建一个虚拟html文档.

WebBrowser w = new WebBrowser();
w.Navigate(String.Empty);
HtmlDocument doc = w.Document;
doc.Write("<html><head></head><body><img id=\"myImage\" src=\"c:\"/><a id=\"myLink\" href=\"myUrl\"/></body></html>");
Console.WriteLine(doc.Body.Children.Count);
Console.WriteLine(doc.GetElementById("myImage").GetAttribute("src"));
Console.WriteLine(doc.GetElementById("myLink").GetAttribute("href"));
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

输出:

2

文件:/// C:

约:myUrl

编辑元素:

HtmlElement imageElement = doc.GetElementById("myImage");
string newSource = "d:";
imageElement.OuterHtml = imageElement.OuterHtml.Replace(
        "src=\"c:\"",
        "src=\"" + newSource + "\"");
Console.WriteLine(doc.GetElementById("myImage").GetAttribute("src"));
Run Code Online (Sandbox Code Playgroud)

输出:

文件:/// d:

  • 这需要您在Winforms控件中加载文档. (3认同)