2013-04-29 167 views
0

这是我的代码。如何将节点作为子节点添加到现有节点XElement?

XElement Response = new XElement("Response", 
           new XElement("RequestId", requestID), 
           new XElement("ResponseId", "E001"), 
           new XElement("Target", target)); 
    Response.Add(new XElement("templates")); 

现在我想模板内 如何做到这一点添加模板列表?我使用linq来查找模板。

 var t = from e1 in wlnResponse.Elements() 
        where e1.Name.ToString() == "templates" 
        select e1; 

回答

3

我建议存放在变量templatesXElement添加到您的文档之前:

XElement templates = new XElement("templates"); 
Response.Add(templates); 

,然后用它来添加模板:

var t = from e1 in wlnResponse.Elements() 
     where e1.Name.ToString() == "templates" 
     select e1; 

templates.Add(t.ToArray()); 
+0

你是不是指'templates.Add(t.ToArray());'? – svick 2013-04-29 14:44:54

+0

@svick当然!只是以前的基于“foreach”的解决方案的一个错误。 – MarcinJuraszek 2013-04-29 14:54:12

+0

@Marcin:谢谢。 – 2013-04-30 08:10:58

0

您是否尝试过XElement.Add方法?

MSDN

这种方法增加了XContainer的现有内容后的新内容。

相关问题