如何从另一种方法访问 xml 文件?

How to access an xml file from another method?

我正在尝试制作一个根据用户输入生成 xml 文件的应用程序,这是通过 2 个表单完成的,主表单已经完成 xml 文档的基础知识,现在我希望从以另一种形式创建的另一个 xml 填充 "members"。但是我的问题是我不希望每次单击它添加成员时都按下按钮来创建一个新的 xml 文件,所以我在 form_load 中有基本部分,但是我无法访问 [=17] =] 由于错误 "The name 'xmlMembers' does not exist in the current context" 而按下按钮的文件 代码如下:

    private void btnAdd_Click(object sender, EventArgs e)
    {
        XmlNode member = xmlMembers.CreateElements("member"); //Causes error

        XmlAttribute attID = xmlMembers.CreateAttribute("id"); //Causes error
        attID.Value = MPlayID;
        member.Attributes.Append(attID);

        XmlAttribute attNick = XmlMembers.CreateAttribute("nick"); //Causes error
        attNick.Value = MNick;
        member.Attributes.Append(attNick);
    }

    private void Form_Member_Load(object sender, EventArgs e)
    {
        XmlDocument xmlMembers = new XmlDocument();
        XmlNode rootNode = xmlMembers.CreateElement("members");
        xmlMembers.AppendChild(rootNode);
    }

您的 xmlMembers 不需要在表单加载中声明:

        class YourClass
        {
             XmlDocument xmlMembers = null;

             private void btnAdd_Click(object sender, EventArgs e)
             {
                if (xmlMembers != null)
                {
                    XmlNode member = xmlMembers.CreateElements("member"); //Causes error

                    XmlAttribute attID = xmlMembers.CreateAttribute("id"); //Causes error
                    attID.Value = MPlayID;
                    member.Attributes.Append(attID);

                    XmlAttribute attNick = xmlMembers.CreateAttribute("nick"); //Causes error
                    attNick.Value = MNick;
                    member.Attributes.Append(attNick);
                }
             }

             private void Form_Member_Load(object sender, EventArgs e)
             {
                    xmlMembers = new XmlDocument();
                    XmlNode rootNode = xmlMembers.CreateElement("members");
                    xmlMembers.AppendChild(rootNode);                    
             }
        }