Как добавить новый корневой элемент в C# XmlDocument?
у меня есть, вне моего контроля, 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));
из вопрос.
любые хорошие решения там?
1 ответов
просто удалите DocumentElement из parent2 XmlDocument, затем добавьте импортированный узел parent1 в XmlDocument (непосредственно -- NOT в DocumentElement) и повторно добавьте удаленный узел parent2 к импортированному узлу parent1:
var p1node = oParent2.ImportNode(oParent1.DocumentElement, true);
var p2node = oParent2.RemoveChild(oParent2.DocumentElement);
oParent2.AppendChild(p1node);
p1node.AppendChild(p2node);