C#加载XML文件

时间:2013-01-03 14:55:07

标签: c# xml winforms

如何创建包含XML文档提供的属性的Windows窗体?

这是一个XML文档:

<Form>
   <Size>
     <Width>558</Width> 
     <Height>537</Height> 
   </Size>
   <Text>XML saving</Text> 
   <Name>Form1</Name> 
   <Button>
     <Name>button1</Name> 
     <Text>XML button</Text> 
     <Size>
       <Width>130</Width> 
       <Width>45</Width> 
     </Size>
     <Location>
       <X>14</X> 
       <Y>24</Y> 
     </Location>
   </Button>
 </Form>

加载表单后,我需要使用XML文档中的值显示表单和按钮。

任何人都可以提供有关此主题的任何帮助或教程吗?

1 个答案:

答案 0 :(得分:4)

您可以使用内置功能来保存和恢复表单设置。使用application settings binding

您可以将表单的大小,位置,文本等属性与其控件绑定到设置,这些设置将自动加载并应用于控件。步骤进行:

  • 选择一些控件并转到“属性”选项卡
  • 在数据类别
  • 下查找(ApplicationSettings)属性
  • 打开属性绑定编辑器
  • 选择要保存的属性并从xml加载并为该属性创建新设置

如果你真的需要使用xml,那么你应该手动解析它。您可以创建一些(扩展)方法,例如(使用Linq到Xml的样本):

public static void ApplySettings(this Button button, XDocument xdoc)
{
    var settings = xdoc
                 .Descendatns("Button")
                 .SingleOrDefault(b => (string)b.Element("Name") == button.Name);

    if (settings == null)
       return;

    button.Text = (string)settings.Element("Text");
    var location = settings.Element("Location");
    if (location != null)
    {
        button.X = (int)location.Element("X");
        button.Y = (int)location.Element("Y");
    }

    //etc
}

并为每个控件调用这些方法:

var xdoc = XDocument.Load(settings_file);
button1.ApplySettings(xdoc);
// etc