C# 将Xelement添加到foreach循环中的现有Xelement中
例如,如果我有一个包含两个对象的列表,我想使用Xelement将它们放入一个XML文件中,并尝试通过对象循环,它会将第二个对象项放入第一个Xelement名称中,因为它们具有相同的Xelement标记名 我怎样才能告诉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) {
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年仍然有用:)