gpt4 book ai didi

c# - XElement => 在运行时添加子节点

转载 作者:IT王子 更新时间:2023-10-29 04:04:28 27 4
gpt4 key购买 nike

那么让我们假设这就是我想要实现的目标:

<root>
<name>AAAA</name>
<last>BBBB</last>
<children>
<child>
<name>XXX</name>
<last>TTT</last>
</child>
<child>
<name>OOO</name>
<last>PPP</last>
</child>
</children>
</root>

不确定使用 XElement 是否是最简单的方法
但这是我到目前为止所拥有的:

 XElement x = new XElement("root",
new XElement("name", "AAA"),
new XElement("last", "BBB"));

现在我必须根据我拥有的一些数据添加“ child ”。
可能有 1,2,3,4 ...

所以我需要遍历我的列表以获得每个 child

foreach (Children c in family)
{
x.Add(new XElement("child",
new XElement("name", "XXX"),
new XElement("last", "TTT"));
}

问题:

这样做我将丢失“CHILDREN 父节点”。如果我只是在 foreach 之前添加它,它将被渲染为一个封闭的节点

<children/>

这不是我们想要的。

问题:

如何向第 1 部分添加父节点以及我的列表中的父节点?

最佳答案

试试这个:

var x = new XElement("root",
new XElement("name", "AAA"),
new XElement("last", "BBB"),
new XElement("children",
from c in family
select new XElement("child",
new XElement("name", "XXX"),
new XElement("last", "TTT")
)
)
);

关于c# - XElement => 在运行时添加子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8558763/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com