可以用 HtmlDocument 中的 HtmlElement 替换 HtmlElement 吗?

Can you replace an HtmlElement with an HtmlElement in an HtmlDocument?

我正在努力为办公室里的每个人简化这里的事情。他们在创建新页面和链接、图像等时总是遇到问题,代码不正确。我想做到这一点,所以我的程序会为他们做所有这些。

我将让他们使用具有数据属性的虚拟元素来完成所有链接。然后我将在 WebBrowserControl 中加载时解析 html 文档并用我自己的元素替换元素。

我有 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/");