C# 删除父节点但保留子节点htmlagility包?

C# 删除父节点但保留子节点htmlagility包?,c#,html-agility-pack,C#,Html Agility Pack,好的,我在这里被难住了,我如何删除父节点并用它的子节点替换它 我的目标是从图像中删除出站链接。我不想删除文档中的正常链接,只需删除那些使图像成为链接的链接,同时保持图像完整。 例如: <a href="http://www.w3schools.com"><img src="logo_w3s.gif"></a> 这样做应该会有所帮助,这将删除的父节点的子节点,但会保留孙子节点。RemoveChild中的这个真参数表示keepGrandChild 如果所有都有

好的,我在这里被难住了,我如何删除父节点并用它的子节点替换它

我的目标是从图像中删除出站链接。我不想删除文档中的正常链接,只需删除那些使图像成为链接的链接,同时保持图像完整。 例如:

<a href="http://www.w3schools.com"><img src="logo_w3s.gif"></a>
这样做应该会有所帮助,这将删除
的父节点的子节点,但会保留孙子节点。
RemoveChild
中的这个真参数表示
keepGrandChild

如果所有
都有


顺便说一句,我使用了一个转换器将它从Vb.net转换为C#所以如果有奇怪的错误,这可能是原因。检查我的答案,告诉我是否对你有帮助。该死的,是的。我决不会想到那样做。非常感谢。不客气,祝您的项目好运:)
<img src="logo_w3s.gif">
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(maintext);
dynamic allimages = doc.DocumentNode.Descendants("img").ToList;

if (scrapeimages.Checked) {
    //the user does want images scraped. Remove image outbound links
    try {
        foreach (void n_loopVariable in allimages) {
            n = n_loopVariable;
            if (n.ParentNode.Name == "a") {
                dynamic outer = n.OuterHtml;
                dynamic newnode = HtmlNode.CreateNode(outer);

                n.ParentNode.ReplaceChild(n.ParentNode, newnode);

            }
        }
        maintext = doc.DocumentNode.OuterHtml;
    } catch {
    }
}
var node = doc.DocumentNode.SelectSingleNode(yourANode);
node.ParentNode.RemoveChild(node, true);
var nodeList = doc.DocumentNode.SelectNodes("img");

for(HtmlNode node in nodeList)
{
    var parentATagNode = node.Parent.Parent;
    parentATagNode.RemoveChild(node.Parent, true);
}