繁体   English   中英

您可以在HtmlDocument中用HtmlElement替换HtmlElement吗?

[英]Can you replace an HtmlElement with an HtmlElement in an HtmlDocument?

我正在尝试为办公室中的每个人简化事情。 他们一直在创建新页面时遇到问题,链接,图像等的代码不正确。 我想这样做,以便我的程序为他们完成所有这些工作。

我将让他们使用具有数据属性的虚拟元素来完成所有链接。 然后,我将在HTML文档加载到WebBrowserControl时对其进行解析,并用我自己的元素替换这些元素。

我有WebBrowser.Document ,已经阅读了文档,并获得了要替换为HtmlElement的元素。 我创建了新的HtmlElement

我知道HtmlDocument上不存在.Replace方法,但这是我需要做的,因此将不胜感激。

HtmlDocument document = ManualViewBrowser.Document;
HtmlElement replace = oldElement;
HtmlElement newElement = document.CreateElement("A");

document = document.replace(replace, newElement);

是的,可以通过更改旧元素的OuterHtml值来完成。 下面是一个示例,如何替换https://example.com中的 H1元素。

ManualViewBrowser.Navigated += (s, e) =>
{
   var document = ManualViewBrowser.Document;
   var oldElement = document.GetElementsByTagName("h1").OfType<HtmlElement>().First();

   // create a new element
   var newElement = document.CreateElement("h1");
   newElement.InnerText = "Hello World!";

   oldElement.OuterHtml = newElement.OuterHtml;
};

ManualViewBrowser.Navigate("http://example.com/");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM