Я имею, за пределами моего управления, XmlDocument, который имеет структуру как следующее:
<parent1>
...minor amount of data...
</parent1>
У меня есть другой XmlDocument, также за пределами моего управления, которое имеет следующую структуру:
<parent2>
..very large amount of data...
</parent2>
Мне нужен XmlDocument в формате:
<parent1>
...minor amount of data...
<parent2>
..very large amount of data...
</parent2>
</parent1>
Я не хочу делать копию parent2. Как я могу получить структуру, в которой я нуждаюсь, не копируя parent2? Я полагаю, что это означает
oParent1.DocumentElement.AppendChild(oParent1.ImportNode(oParent2.DocumentElement, true));
вне рассмотрения.
Какие-либо хорошие решения там?
Просто удалите DocumentElement из XmlDocument parent2, затем добавьте импортированный узел parent1 в XmlDocument (напрямую - НЕ в DocumentElement) и повторно добавьте удаленный узел parent2 к импортированному узлу parent1:
var p1node = oParent2.ImportNode(oParent1.DocumentElement, true);
var p2node = oParent2.RemoveChild(oParent2.DocumentElement);
oParent2.AppendChild(p1node);
p1node.AppendChild(p2node);