C# 无法使用C创建子元素中包含子元素的xml文件#

C# 无法使用C创建子元素中包含子元素的xml文件#,c#,linq-to-xml,C#,Linq To Xml,我希望创建一个xml文件,根节点为“Package”,子节点为“types”,子节点为“members”。另一个“名称”节点将是“成员”节点的sibling节点 预期产出: <Package> <types> <members>xyz</members> <members>xyz</members> <name>abc</name> </types>

我希望创建一个xml文件,根节点为“Package”,子节点为“types”,子节点为“members”。另一个“名称”节点将是“成员”节点的sibling节点

预期产出:

<Package>
   <types>
     <members>xyz</members>
     <members>xyz</members>
     <name>abc</name>
   </types>

   <types>
     <members>xyz</members>
     <members>xyz</members>
     <name>abc</name>
   </types>
</Package>

xyz
xyz
abc
xyz
xyz
abc
应将
元素添加到您创建的
元素中,而不是添加到文档根目录中

改为这样做:

var doc = new XDocument(
    new XElement("Package",
        from g in componentsGroupedByType
        select new XElement("types",
            from u in g
            select new XElement("members", u.Item2),
            new XElement("name", u.Key)
        )
    )
);
var doc = new XDocument(
    new XElement("Package",
        from g in componentsGroupedByType
        select new XElement("types",
            from u in g
            select new XElement("members", u.Item2),
            new XElement("name", u.Key)
        )
    )
);