要移除的节点不是该节点的子节点

Posted

技术标签:

【中文标题】要移除的节点不是该节点的子节点【英文标题】:The node to be removed is not a child of this node 【发布时间】:2012-12-13 20:57:19 【问题描述】:

我的代码应该将XmlElement 添加到文档的根元素,或者替换现有元素(如果有的话)。这是我的代码:

if (existingInfo != null)

    existingInfo.ParentNode.ReplaceChild(existingInfo, newInfo);

else

    this.rootElement.AppendChild(info)

configDocument.Save(this.filePath);

如果我要附加一个新项目,这不是问题。但是,当我尝试添加一个新项目时,我收到一个 ArgumentException 声明“要删除的节点不是该节点的子节点”

这是一个 2.0 应用程序。

【问题讨论】:

【参考方案1】:

如in the docs 所述,ReplaceChild 的第一个参数必须是新节点,而不是旧节点。

因此,请尝试:

existingInfo.ParentNode.ReplaceChild(newInfo, existingInfo);

【讨论】:

总是小事。我现在无法对此进行测试,但我将其标记为答案,因为我确信这是我的错误。

以上是关于要移除的节点不是该节点的子节点的主要内容,如果未能解决你的问题,请参考以下文章

DOM节点的删除(jQuery)

jQuery修炼心得-DOM节点的删除

计算特定XML节点c#的子节点数[重复]

删除树节点但保留其子节点的方法的名称

DOM节点删除之empty和remove区别

jQuery Dom 系列