.Select
有一个可以接受
Func
它获取当前可枚举项中的索引,因此可以编写以下内容:
return new XElement(ns1 + "TemplateParameters",
new XElement(ns1 + "TemplateOrderLines",
templateOrderLines.Select((item, index) =>
new XElement($"Item{index}",
new XElement(ns1 + "TemplatePartDesc", item.TemplatePartDesc),
new XElement(ns1 + "TemplatePartSKU", item.TemplatePartSKU),
new XElement(ns1 + "TemplateQuantity", item.TemplateQuantity)
)
)
)
);
comment
--这样编写的XML很难解析;很难找到以相同字符串开头的多个标记(在本例中)
Item
). 如果确实需要,可以将索引添加为属性。
但是,请记住,在使用LINQ解析XML时,可以使用相同的重载在可枚举上获取索引,因此可能根本不需要将索引嵌入到数据中。