XmlElement数组作为特定节点的子节点

时间:2011-12-30 04:28:43

标签: xml c#-4.0

我有以下代码:

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 :(得分:0)

似乎没有直接的方法来做到这一点,所以我这样做了:

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);
    }
}

希望它对某人也有帮助。