我有一个字符串列表,我需要用它来创建以下XML。列表中的项目是字符串“Line 1”,“Line 2”等。棘手的一点是元素名称从“l1”向上递增。是否可以使用Linq来执行此操作,还是应该使用其他方法?
<srv>
<enqRsp>
<l1>LINE 1</l1>
<l2>LINE 2</l2>
<l3>LINE 3</l3>
<l4>LINE 3</l4>
</enqRsp>
</srv>
答案 0 :(得分:2)
这是完全可能的,使用提供索引的Select overload
以及值:
var document = new XDocument(new XElement("srv",
new XElement("enqRsp",
list.Select((value, index) => new XElement("l" + (index+1), value))
)
));