知道我不能使用 HTMLAgilityPack,只能直接使用 .NET,假设我有一个包含一些 HTML 的字符串,我需要以这种方式解析和编辑:
- 通过 id 或标签查找层次结构中的特定控件
- 修改(最好是创建)这些找到的元素的属性
.net 中有可用的方法吗?
Html文档 http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.aspx
按 ID 获取元素 http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.getelementbyid.aspx
html元素 http://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement.aspx
您可以创建一个虚拟 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();
Output:
2
文件:///c:
关于:我的网址
编辑元素:
HtmlElement imageElement = doc.GetElementById("myImage");
string newSource = "d:";
imageElement.OuterHtml = imageElement.OuterHtml.Replace(
"src=\"c:\"",
"src=\"" + newSource + "\"");
Console.WriteLine(doc.GetElementById("myImage").GetAttribute("src"));
Output:
文件:///d:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)