Массив XmlElement в качестве дочерних элементов определенного узла - PullRequest
0 голосов
/ 30 декабря 2011

У меня есть следующий код:

var xDoc = new XmlDocument();
var docNode = xDoc.CreateElement("Document");

, который генерирует следующий XML:

<Document>
</Document>

С другой стороны, у меня есть метод, который возвращает массив XmlElements, основная идея - вставить эти элементы как дочерние элементы предыдущего созданного элемента Document.

var childNodes = GetNodes(); //this method returns XmlElement[]

Теперь вопрос: есть ли способ напрямую назначить все элементы или массив XmlElement [] как дочерние элементы узла без циклического перемещения по массиву ?, я имею в виду что-то вроде этого:

docNode.Children(childNodes); //THIS IS NOT WORKING, JUST GUESSING

Язык: C # 4.0

1 Ответ

0 голосов
/ 30 декабря 2011

Похоже, прямого пути для этого не существует, поэтому я сделал это:

var xDoc = new XmlDocument();
var docNode = xDoc.CreateElement("Document");
foreach (var element in returnDocumentData)
{
    if (docNode.OwnerDocument != null)
    {
        //need to import the element because it's being generated from a
        //different xmlDocument context
        var importElement = docNode.OwnerDocument.ImportNode(element, true);
        docNode.AppendChild(importElement);
    }
}

Надеюсь, это кому-то тоже поможет.

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