【问题标题】:How to access an xml file from another method?如何从另一种方法访问 xml 文件?
【发布时间】:2023-04-05 22:53:01
【问题描述】:

我正在尝试制作一个从用户输入生成 xml 文件的应用程序,这是通过 2 个表单完成的,主表单已经成为 xml 文档的基础,现在我希望从另一个 xml 填充“成员”正在以另一种形式创建。但是我的问题是我不希望每次单击按钮以添加成员时都按下按钮来创建新的 xml 文件,因此我在 form_load 中有基本部分,但是由于错误,我无法从按钮按下访问 xml 文件“当前上下文中不存在名称“xmlMembers”” 代码如下:

    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);
    }

【问题讨论】:

    标签: c# xml winforms


    【解决方案1】:

    您的 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);                    
                 }
            }
    

    【讨论】:

      猜你喜欢
      • 2015-12-20
      • 1970-01-01
      • 2020-06-16
      • 2021-09-18
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      相关资源
      最近更新 更多