gpt4 book ai didi

c# - XmlNode.ReplaceChild 提示我试图删除的节点不是子节点,尽管我是通过 ParentNode 到达该节点的

转载 作者:数据小太阳 更新时间:2023-10-29 01:55:46 26 4
gpt4 key购买 nike

我有一个简单的功能,旨在将 xml 文档的一部分复制到另一个文档。我想用另一个节点替换一个节点,因此 ReplaceChild 似乎是合乎逻辑的选择。我不断收到错误消息“引用节点不是该节点的子节点。”尽管。这看起来很奇怪,因为我首先通过询问父节点来找到该节点。知道我做错了什么吗?

    private static void KeepSection(XmlDocument newDoc, XmlDocument currentDoc, XmlNamespaceManager nsmgr, string path)
{
XmlNode section = currentDoc.SelectSingleNode(path, nsmgr);
XmlNode newSection = newDoc.SelectSingleNode(path, nsmgr);
if (newSection != null && section != null)
{
XmlNode parent = newSection.ParentNode;
parent.ReplaceChild(newSection, newDoc.ImportNode(section, true));
}
}

最佳答案

看起来你的 ReplaceChild 参数被颠倒了:

public virtual XmlNode ReplaceChild(
XmlNode newChild,
XmlNode oldChild
)

关于c# - XmlNode.ReplaceChild 提示我试图删除的节点不是子节点,尽管我是通过 ParentNode 到达该节点的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com