如何从列表中创建XML?

时间:2015-03-17 03:54:56

标签: c# xml

假设我有班级

public class Test1
{
    public int BINID { get; set; }
    public int NUMBER1 { get; set; }
    public decimal HOLGRAPHIC { get; set; }

    public Test1(int id, int num, decimal hol)
    {
        BINID = id;
        NUMBER1 = num;
        HOLGRAPHIC = hol;
    }
}

假设我在另一个名为Test2的类中创建了Test1的List集合。在Test2班级中,我创建了Test1的集合t。

List<Test1> t = new List<Test1>();

假设此List包含两个Test1个对象。如何将列表转换为XML以具有以下架构?

<t>
<Test1>
  <BINID>23</BINID>
  <NUMBER1>123</NUMBER1>
  <HOLOGRAPHIC>2345.12</HOLOGRAPHIC>
</Test1>
<Test1>
  <BINID>3</BINID>
  <NUMBER1>346233</NUMBER1>
  <HOLOGRAPHIC>12.345</HOLOGRAPHIC>
</Test1>
</t>

1 个答案:

答案 0 :(得分:1)

您可以使用LINQ生成XML。使用类XElement和XAttribute,您可以生成与所需模式相对应的XML文件。

请参阅此链接以获取示例。

http://www.dotnetcurry.com/showarticle.aspx?ID=428

类似的东西:

var xEle = new XElement("t",
                from ele in t
                select new XElement("test1",
                             new XElement("BINID", ele.ID),
                               new XElement("NUMBER1", ele.Number1),
                               new XElement("HOLOGRAPHIC", ele.Holigraphic)
                           ));

    xEle.Save("D:\\yourFile.xml");
    Console.WriteLine("Converted to XML");