是否.NET框架提供的方法来解析HTML字符串? [英] Does .NET framework offer methods to parse an HTML string?

查看:115
本文介绍了是否.NET框架提供的方法来解析HTML字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因为知道我不能使用HTMLAgilityPack,只有直.NET,说我有一个包含一些HTML,我需要解析和字符串编辑在这种方式:

Knowing that I can't use HTMLAgilityPack, only straight .NET, say I have a string that contains some HTML that I need to parse and edit in such ways:

  • 将标识或标签找到层次结构中的具体控制
  • 修改(理想情况下创建)那些被发现的元素属性

有没有方法在.NET提供这样做?

Are there methods available in .net to do so?

推荐答案

的HTMLDocument

的getElementById

的HtmlElement

您可以创建一个虚拟的HTML文档。

You can create a dummy html document.

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();

输出:

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"));

输出:

文件:/// D:

这篇关于是否.NET框架提供的方法来解析HTML字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆