У меня есть простая функция, предназначенная для копирования одного раздела 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));
}
}