代码之家  ›  专栏  ›  技术社区  ›  Retrocoder

当数据保存在列表中时,LINQ到XML

  •  0
  • Retrocoder  · 技术社区  · 15 年前

    我有一个字符串列表,需要使用它来创建以下XML。列表中的项目是字符串“第1行”、“第2行”等。棘手的一点是元素名从“l1”向上递增。是否可以使用LINQ来执行此操作,或者应该使用其他方法?

    <srv>
      <enqRsp>
        <l1>LINE 1</l1>
        <l2>LINE 2</l2>
        <l3>LINE 3</l3>
        <l4>LINE 3</l4>
      </enqRsp>
    </srv>
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Jon Skeet    15 年前

    这是完全可能的,使用 Select overload 它提供了索引和值:

    var document = new XDocument(new XElement("srv",
         new XElement("enqRsp",
            list.Select((value, index) => new XElement("l" + (index+1), value))
         )
    ));