我刚刚在我的asp.net项目中安装了Html Agility Pack,我可以使用它从网上的另一个网页中提取数据并显示它没有问题,但是我遇到了问题。基本上我选择了一个标题为id的div,在这个标题中,我知道有一个div,我想删除类名登录。所以这是我的代码
//Get the div with the id of footer
HtmlNode node = doc.DocumentNode.SelectSingleNode("//div[@id='header']");
//Remove login div
HtmlNode loginSection = node.SelectSingleNode("//div[@class='login']");
node.RemoveChild(loginSection);
现在我设置了loginSection,它有一个值,所以我选择了一个存在的div,但是当我调用RemoveChild函数时,我得到了这个错误
Node "<div class="login"></div>" was not found in the collection
我已经在stackoverflow上查看了有关此问题的其他问题,我似乎无法找到修复程序。
答案 0 :(得分:2)
我发现我需要首先选择父节点,然后选择我的loginSection节点,
这是我更新和工作的代码
//Get the div with the id of footer
HtmlNode node = doc.DocumentNode.SelectSingleNode("//div[@id='header']");
//Remove login div
HtmlNode loginSection = node.SelectSingleNode("//div[@class='login']");
loginSection.ParentNode.RemoveChild(loginSection);