Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Xelement添加到foreach循环中的现有Xelement中_C#_.net_Xml_Xelement - Fatal编程技术网

C# 将Xelement添加到foreach循环中的现有Xelement中

C# 将Xelement添加到foreach循环中的现有Xelement中,c#,.net,xml,xelement,C#,.net,Xml,Xelement,例如,如果我有一个包含两个对象的列表,我想使用Xelement将它们放入一个XML文件中,并尝试通过对象循环,它会将第二个对象项放入第一个Xelement名称中,因为它们具有相同的Xelement标记名 我怎样才能告诉Xelement它需要在某种程度上是独一无二的?因此,它不会将第二个对象放在第一个人物标记中,而是放在第二个人物标记中 List<People> people -> has two items foreach (var person in people) {

例如,如果我有一个包含两个对象的列表,我想使用Xelement将它们放入一个XML文件中,并尝试通过对象循环,它会将第二个对象项放入第一个Xelement名称中,因为它们具有相同的Xelement标记名

我怎样才能告诉Xelement它需要在某种程度上是独一无二的?因此,它不会将第二个对象放在第一个人物标记中,而是放在第二个人物标记中

List<People> people -> has two items

foreach (var person in people)
{
 xmlDoc.Element("people").Add(new XElement("person"............

}
列出人员->有两项
foreach(人与人之间的变量)
{
元素(“人”).Add(新元素(“人”)。。。。。。。。。。。。
}
XML输出示例:

<people>
     <person></person>
     <person></person>
</people>
<people>
</people>

问题不是很清楚,但您可能正在寻找类似的东西吗

    foreach (var p in people)
    {
        XElement xElement = new XElement("people");

        foreach (var person in p)
        {
            xElement.Add(new XElement("person")); // add other elements, attributes etc...,
        }

        xDoc.Add(xElement);
    }

没关系,我已经找到答案了

使用元素将为您提供他在XML文档中找到的第一个元素

使用
元素(“人”).Last().Element(“人”).Add
将给你集合中的最后一个。当我在循环对象时,最后一个始终是我当时所在的对象


无论如何,谢谢。

给它一个-1而不加任何关于“为什么”的评论是没有帮助的。)我可以在这里像整个代码一样发布。但我认为这已经很清楚了,因为这不是一个很难的主题。谢谢,在2016年仍然有用:)