首页 > 解决方案 > 使用类属性中的 XElement 创建 XML 文件

问题描述

我有一个List<Foo> fooListFoo 类,它有几个属性

Property01
Property02
Property03

我想创建一个像

<Foos>
 <Foo>
  <Property01>value1</Property01>
  <Property02<value2</Property02>
  <Property03<value3</Property03>
 </Foo>
 <Foo>
  <Property01>value1</Property01>
  <Property02<value2</Property02>
  <Property03<value3</Property03>
 </Foo>
</Foos>

我试过了

new XElement
("Foos",
 fooList.Select
  (Foo =>
   new XElement
   ("Foo",
      new XElement("Property01",Foo.Property01),
      new XElement("Property02",Foo.Property02),
      new XElement("Property03",Foo.Property03),
   )
  )
)

但是 Lambda 表达式仅适用于一个属性。

标签: c#xmllambda

解决方案


您的代码创建了预期的 XML。也许问题是最后一个逗号?

new XElement
("Foos",
 fooList.Select
  (Foo =>
   new XElement
   ("Foo",
      new XElement("Property01",Foo.Property01),
      new XElement("Property02",Foo.Property02),
      new XElement("Property03",Foo.Property03) // deleted comma
   )
  )
)

推荐阅读