remove html node from htmldocument :HTMLAgilityPack(从 htmldocument 中删除 html 节点:HTMLAgilityPack)
问题描述
在我的代码中,我想删除没有 src 值的 img 标签.我正在使用 HTMLAgilitypack 的 HtmlDocument 对象.我正在寻找没有 src 值的 img 并试图将其删除.. 但它给了我错误 Collection was modified;枚举操作可能无法执行.任何人都可以帮助我吗?我使用的代码是:
In my code, I want to remove the img tag which doesn't have src value. I am using HTMLAgilitypack's HtmlDocument object. I am finding the img which doesn't have src value and trying to remove it.. but it gives me error Collection was modified; enumeration operation may not execute. Can anyone help me for this? The code which I have used is:
foreach (HtmlNode node in doc.DocumentNode.DescendantNodes())
{
    if (node.Name.ToLower() == "img")
    {                            
           string src = node.Attributes["src"].Value;
           if (string.IsNullOrEmpty(src))
           {
               node.ParentNode.RemoveChild(node, false);    
           }
   }
   else
   {
             ..........// i am performing other operations on document
   }
}
推荐答案
我做的是:
    List<string> xpaths = new List<string>();
    foreach (HtmlNode node in doc.DocumentNode.DescendantNodes())
    {
                        if (node.Name.ToLower() == "img")
                        {
                            string src = node.Attributes["src"].Value;
                            if (string.IsNullOrEmpty(src))
                            {
                                xpaths.Add(node.XPath);
                                continue;
                            }
                        }
    }
    foreach (string xpath in xpaths)
    {
            doc.DocumentNode.SelectSingleNode(xpath).Remove();
    }
                        这篇关于从 htmldocument 中删除 html 节点:HTMLAgilityPack的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:从 htmldocument 中删除 html 节点:HTMLAgilityPack
				
        
 
            
        - C# 中多线程网络服务器的模式 2022-01-01
 - WebMatrix WebSecurity PasswordSalt 2022-01-01
 - C#MongoDB使用Builders查找派生对象 2022-09-04
 - 输入按键事件处理程序 2022-01-01
 - 如何用自己压缩一个 IEnumerable 2022-01-01
 - MoreLinq maxBy vs LINQ max + where 2022-01-01
 - Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
 - 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
 - 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
 - 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
 
						
						
						
						
						
				
				
				
				