Как я могу добавить новый корневой элемент к 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));

вне рассмотрения.

Какие-либо хорошие решения там?

6
задан itowlson 15 February 2010 в 21:50
поделиться

1 ответ

Просто удалите 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);
4
ответ дан 17 December 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: