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

Posted

技术标签:

【中文标题】如何将整个 HTMLElement 的文本替换为其他内容?【英文标题】:How to replace whole HTMLElement's text to something else? 【发布时间】:2011-11-10 03:04:10 【问题描述】:

这是示例。

webBrowser1.Document.Body.Innerhtml 包含:

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

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

我想我可以这样做:

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

但它会引发异常。

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

【问题讨论】:

【参考方案1】:

您可以使用OuterHtml 属性:

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

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

【讨论】:

以上是关于如何将整个 HTMLElement 的文本替换为其他内容?的主要内容,如果未能解决你的问题,请参考以下文章

使用 sed 将唯一文本替换为 URL

如何将图块添加到谷歌地图并为其设置动画,即不断用新图块替换它们

使用 MySQL 查询查找和替换整个表中的文本

使用 MySQL 查询查找和替换整个表中的文本

使用 MySQL 查询查找和替换整个表中的文本

如何增加列表并将某些值替换为其计数