我只是想在 C# 中简单地删除一个元素。如果我的 html 元素包含文本 [Store Logo] 那么我想删除它。例子:
<img src="http://src.sencha.io/300/80/http://images.company.com/[Store Logo]" />
既然它有 [Store Logo] 那么我想删除整个图像标签。我试图使用正则表达式来做到这一点,但很难理解如何一起使用所有符号,我读到我不应该使用正则表达式来解析 html。删除它的最佳方法是什么?
你可以使用Html 敏捷包
这是直接来自他们的示例页面的示例,说明如何在页面中查找所有链接:
HtmlWeb hw = new HtmlWeb();
HtmlDocument doc = hw.Load(/* url */);
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
if(link.Attributes["href"].Value.Contains("[Store Logo]"))
link.ParentNode.RemoveChild(link, true);
}
使用HtmlAgilityPack。它是一个用于解析 HTML 的库,允许访问 DOM 并对其进行修改。