2014-09-24 76 views
1

例如,如果我有两个对象名单,我想将它们付诸使用的XElement,并通过它把对象试图循环的XML文件的第二个对象物品进入第一个Xelement名称,因为它们具有相同的Xelement标记名。添加的XElement到foreach循环现有的XElement

我怎么能告诉一个的XElement,它需要在某种独特之处?因此它不会将第二个对象放在第一个人物标记中,而是放在第二个对象中。 XML输出的

List<People> people -> has two items 

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

} 

例如:

<people> 
    <person></person> 
    <person></person> 
</people> 
<people> 
</people> 
+1

给它一个-1没有评论'为什么'是没有帮助的。 ;)我可以在这里发布整个代码。但我认为这已经很清楚了,因为它不是那么硬的主题。 – Ibsonic 2014-09-24 14:35:48

回答

1

没关系我找到了答案。

使用元素会给你他可以在XML文档中找到的第一个元素。

使用Elements("people").Last().Element("person").Add 会给你在集合中的最后一个。由于我虽然循环的对象是最后一个将永远是一个我在的那一刻。

还是要谢谢你。

+0

感谢,在2016年仍然是有用的:) – 2016-12-14 07:41:15

1

它不是从问题很清楚,但可能是你在寻找这样的事情?

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); 
    }