0

可能重复:
C# 加载 XML 文件

我的程序有问题。我需要阅读一些 xml 文件,其中我有表单属性,我需要在运行(加载)它时将其应用于我的程序。我得到了这段代码,但在运行时它给了我一个错误(对象引用未设置为对象的实例)。我现在迷路了,真的不知道如何将这些设置从 xml 应用到我的程序中。

<Form>
   <Size>
     <Width>558</Width> 
     <Height>537</Height> 
   </Size>
   <Text>XML saving</Text> 
   <Name>Test_name</Name> 
</Form>
    public formaENA()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        XDocument newDoc = XDocument.Load(@"C:\testXML.xml");

        var form = from size in newDoc.Descendants("Size")
                    select new
                    {
                        Width = Convert.ToInt32(size.Element("Width").Value),
                        Height = Convert.ToInt32(size.Element("Height").Value)           
                    };

        foreach(var size in form)
        {
            formaENA.ActiveForm.Width = size.Width;
            formaENA.ActiveForm.Height = size.Height;              
        }
4

2 回答 2

1

那么你得到这个错误是因为你没有初始化formaENA。在分配任何属性之前尝试创建该表单。

    formaENA frm = new formaENA();
    foreach(var size in form)
    {
        frm.Width = size.Width;
        frm.Height = size.Height;              
    }
    frm.Show();
于 2013-01-08T15:59:53.037 回答
0

在我看来,您还没有初始化formaENA。如果它没有名为 ActiveForm 的静态属性,您应该得到一个空指针异常。

于 2013-01-08T16:01:27.037 回答