Могу ли я добавить один XmlDocument в узел другого XmlDocument в C #? - PullRequest
2 голосов
/ 22 апреля 2009

У меня есть два XmlDocuments. Что-то вроде:

<document1>
  <inner />
</document1>

и

<document2>
  <stuff/>
</document2>

Я хочу поместить document2 во внутренний узел document1, чтобы в итоге я получил один допинг, содержащий:

<document1>
  <inner>
    <document2>
      <stuff/>
    </document2>
  </inner>
</document1>

Ответы [ 3 ]

8 голосов
/ 22 апреля 2009

Вот код ...

XmlDocument document1, document2;
// Load the documents...
XmlElement xmlInner = (XmlElement)document1.SelectSingleNode("/document1/inner");
xmlInner.AppendChild(document1.ImportNode(document2.DocumentElement, true));
1 голос
/ 22 апреля 2009

Можно, но эффективно копия будет создана. Вы должны использовать XmlNode node = document1.ImportNode(document2.RootElement), найти узел и добавить node в качестве дочернего элемента.

Пример для msdn: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.importnode.aspx

0 голосов
/ 22 апреля 2009

Нет. Вы можете иметь только на XmlDocument в XML DOM. Что вы хотите сделать, так это получить DocumentElement, связанный с document2, и добавить этот XmlElement в качестве дочернего элемента к XmlElement.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...