无法使用 C# 创建子元素内包含子元素的 xml 文件
Unable to create an xml file with a child element inside a child element using C#
我想创建一个 xml 文件,其中 "Package" 作为根节点,"types" 是它的子节点,"members" 是 [= 的子节点18=]。另一个 "name" 节点,它将成为 "members" 节点的同级节点。
XDocument doc = new XDocument(new XElement("Package"));
foreach (var group in componentsGroupedByType)
{
doc.Root.Add(new XElement("types"));
foreach (var user in group)
{
doc.Root.Add(new XElement("members", user.Item2));
}
doc.Root.Add(new XElement("name", group.Key));
}
预期输出:
<Package>
<types>
<members>xyz</members>
<members>xyz</members>
<name>abc</name>
</types>
<types>
<members>xyz</members>
<members>xyz</members>
<name>abc</name>
</types>
</Package>
<members>
和 <name>
元素应该添加到您创建的 <types>
元素,而不是文档根目录。
改为这样做:
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)
)
)
);
我想创建一个 xml 文件,其中 "Package" 作为根节点,"types" 是它的子节点,"members" 是 [= 的子节点18=]。另一个 "name" 节点,它将成为 "members" 节点的同级节点。
XDocument doc = new XDocument(new XElement("Package"));
foreach (var group in componentsGroupedByType)
{
doc.Root.Add(new XElement("types"));
foreach (var user in group)
{
doc.Root.Add(new XElement("members", user.Item2));
}
doc.Root.Add(new XElement("name", group.Key));
}
预期输出:
<Package>
<types>
<members>xyz</members>
<members>xyz</members>
<name>abc</name>
</types>
<types>
<members>xyz</members>
<members>xyz</members>
<name>abc</name>
</types>
</Package>
<members>
和 <name>
元素应该添加到您创建的 <types>
元素,而不是文档根目录。
改为这样做:
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)
)
)
);