将计算结果保存在xml中

时间:2014-08-20 10:48:12

标签: c# xml winforms

我有一个特定的计算器,我想根据计算日期将计算结果保存在xml中。我已经研究了2天但我找不到我想要的。单击“保存”按钮时,计算器应保存初始变量,并通过动态生成的新属性和子元素生成xml,如下所示: 日期将是计算日期。

<?xml version="1.0" encoding="utf-8" ?>
<kayıt>
    <date tarih="12.05.1989">
        <FRAME>3</FRAME>
        <TA>1</TA>
        <RESULTPDB>1,2</RESULTPDB>
        <RESULTPKW>500</RESULTPKW>
    </date>
    <date tarih="26.05.1989">
        <FRAME>3</FRAME>
        <TA>1</TA>
        <RESULTPDB>1,2</RESULTPDB>
        <RESULTPKW>500</RESULTPKW>
    </date>  
</kayıt>

1 个答案:

答案 0 :(得分:1)

假设您有一些像

这样的对象
public class Foo
{
   public DateTime Date { get; set; }
    public string Frame { get; set; }
    public string TA { get; set; }
    public string PDB { get; set; }
    public string PKW { get; set; }
}

使用LINQ to XML将这些对象的列表保存到XML(我强烈建议您阅读链接文章):

var xdoc = new XDocument(
    new XElement("kayit",
    from foo in foos
    select new XElement("date",
        new XAttribute("tarih", foo.Date.ToString("dd.MM.yyyy")),
        new XElement("FRAME", foo.Frame),
        new XElement("RESULTPDB", foo.PDB),
        new XElement("RESULTPKW", foo.PKW)
        )));

xdoc.Save("kayit.xml");

更新:通过foo对象列表,我的意思是你的实体携带数据保存到xml。 E.g。

var foos = new List<Foo> {
    new Foo { 
   Date = DateTime.Now, 
   Frame = comboBox1.Text,
   TA = label7.Text, 
   PDB = label13.Text, 
   PKW = label16.Text
    };