Html Agility Pack 无法删除节点
Html Agility Pack can't remove node
我刚刚将 Html Agility Pack 安装到我的 asp.net 项目中,我可以使用它从网络上的另一个网页提取数据并毫无问题地显示它,但是我有遇到问题。基本上我选择了一个 ID 为 header 的 div,在这个 header 中我知道有一个 div 和我想要的 class 名称登录消除。所以这是我的代码
//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
我查看了 Whosebug 上关于此问题的其他问题,但似乎找不到解决方法。
我发现我需要先 select 父节点然后 select 我的 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);
我刚刚将 Html Agility Pack 安装到我的 asp.net 项目中,我可以使用它从网络上的另一个网页提取数据并毫无问题地显示它,但是我有遇到问题。基本上我选择了一个 ID 为 header 的 div,在这个 header 中我知道有一个 div 和我想要的 class 名称登录消除。所以这是我的代码
//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
我查看了 Whosebug 上关于此问题的其他问题,但似乎找不到解决方法。
我发现我需要先 select 父节点然后 select 我的 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);