如何将整个 HTMLElement 的文本替换为其他内容?

发布于 2024-12-03 01:11:06 字数 508 浏览 2 评论 0原文

这是例子。

webBrowser1.Document.Body.InnerHtml 包含:

在我的 MyWebBrowser 类中,我想将整个 img 标签重新电镀为某些文本,例如字符串示例:“&ltmyImage&gt”(如果用户不想看到图像,我的聊天应用程序需要它)

我想我可以做类似的事情:

Document.GetElementById("image1").InnerHtml = "&lt" + Document.GetElementById("image1").GetAttribute("src") + "&gt";

但是它抛出异常。

实际上,我通过在整个文档中搜索这些特定标签并使用 String 类的方法替换它来解决这个问题,但代码看起来不太好。如果有更有效的方法来做到这一点,请不要费心回答我的问题。

Here's the example.

webBrowser1.Document.Body.InnerHtml contains:

<img id="image1" src="myImage.gif">

and in my MyWebBrowser class I want to replate whole img tag to some text, for example to string: "<myImage>" (I need it for my chat application, if user doesn't want to see images)

I thought I could do something like that:

Document.GetElementById("image1").InnerHtml = "<" + Document.GetElementById("image1").GetAttribute("src") + ">";

but it throws exception.

Actually I resolved that by searching those specific tags in whole document and replacing it using String class' methods, but code doesn't look good. If there's more effective way to do that, do not bother answering my question.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心如荒岛 2024-12-10 01:11:06

您可以使用 OuterHtml 属性:

HtmlElement image = Document.GetElementById("image1");
image.OuterHtml = "<" + image.GetAttribute("src") + ">";

但请注意,分配给 OuterHtml 将使对该元素的引用无效,因此 image 之后将不会引用新内容。

You can use the OuterHtml property:

HtmlElement image = Document.GetElementById("image1");
image.OuterHtml = "<" + image.GetAttribute("src") + ">";

Note, however, that assigning to OuterHtml will invalidate the reference to the element, so image will not refer to the new content afterwards.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文