保存TextBox1中加入XML [英] Save textbox1 entry into xml

查看:190
本文介绍了保存TextBox1中加入XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是我的code:

 static void main(string[] args)
    {
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load("data.XML");
        XmlNodeList userNodes = xmldoc.SelectNodes("data.XML");
        foreach (XmlNode userNode in userNodes) ;

    }

    private string id;
    private string APIkey;
    private string VCode;

    public string ID
    {
         get { return id; }
         set { id = Guid.NewGuid().ToString(); }
    }

    public string APIKEY
    {
        get { return APIkey; }
        set { APIkey = value; }
    }

    public string VCODE
    {
        get { return VCode; }
        set { VCode = value; }

    }

    public static void SaveData(object obj, string Filename)
    {

        XmlSerializer sr = new XmlSerializer(obj.GetType());
        TextWriter writer = new StreamWriter(Filename, true);
        sr.Serialize(writer, obj);
        writer.Close();

    }
}

下面是我的按钮;

    private void button1_Click(object sender, EventArgs e)
   {
    {
       try
    {


        APISAVE info = new APISAVE();
        info.APIKEY = txtAPI.Text;
        info.VCODE = txtVerC.Text;
        info.ID = info.ID;
        APISAVE.SaveData(info, "data.XML");

    }

    catch (Exception ex)

    {
        MessageBox.Show(ex.Message);
    }
}

确定我想要做的就是添加了我在文本框中进入XML文件,但是当我再次做到这一点,它会其添加到XML不能覆盖它。

ok what i want to do is add what i type in the text boxes to go into the XML file BUT when i do it again it'll add it to the XML not overwrite it.

我一直在使用Google的一段时间,阅读大量的比特,它只是不作出任何意义,我已经试过。即时通讯现在要求一个好心的灵魂请向我解释,婴儿的语言中这一切都将是错误的。

i've been googling for awhile and reading lots of bits and it's just not making any sense, i've tried. im now asking for a good hearted soul to please explain to me in baby language were it's all going wrong.

修改

XML输出​​;

<?xml version="1.0" encoding="utf-8"?>
<Serialization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ID>91bb44be-d55e-40f6-83f7-8fb43d0a7321</ID>
<APIKEY>12</APIKEY>
<VCODE>12</VCODE>
</Serialization><?xml version="1.0" encoding="utf-8"?>
<Serialization xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ID>c2a45a36-e7c8-4ac5-a37c-87c452db5807</ID>
<APIKEY>123</APIKEY>
<VCODE>123</VCODE>
 </Serialization>

另一个编辑:

Another

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
using No_IdeaV2.API_Key_Window;
using System.IO;

namespace No_IdeaV2.API_Key_Window
{
public partial class UCAPIn : Form
{        
    public UCAPIn()
    {
        InitializeComponent();
    }

    private void label1_Click(object sender, EventArgs e)
    {
    }

    private void menuStrip1_ItemClicked(object sender,  ToolStripItemClickedEventArgs e)
    {

    }

    private void whatAmIDoingToolStripMenuItem_Click(object sender, EventArgs e)
    {

    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

    public List<Serialization> list = null;
    private void UCAPIn_Load(object sender, EventArgs e)
    {
        list = new List<Serialization>();
        var doc = XDocument.Load("data.XML");

        foreach (XElement element in doc.Descendants("Serialization"))
        {
            list.Add(new Serialization()
            { ID = element.Element("ID").Value, APIKEY = element.Element("APIKEY").Value, VCODE = element.Element("VCODE").Value });
        }
    }

    public void button1_Click(object sender, EventArgs e)
    {
        {
            try
            {
                Serialization info = new Serialization();
                info.APIKEY = txtAPI.Text;
                info.VCODE = txtVerC.Text;
                info.ID = Guid.NewGuid().ToString();
                list.Add(info);
                Serialization.SaveData(list, "data.XML");

            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }

    private void button2_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    private void whatIsThisToolStripMenuItem_Click(object sender, EventArgs e)
    {

    }





        public class Serialization
    {
        private string id;
        private string APIkey;
        private string VCode;

        public string ID
        {
            get { return id; }
            set { id = value; }
        }

        public string APIKEY
        {
            get { return APIkey; }
            set { APIkey = value; }
        }

        public string VCODE
        {
            get { return VCode; }
            set { VCode = value; }

        }

        public static void SaveData(List<Serialization> list, string      Filename)
        {
            XmlSerializer sr = new XmlSerializer(list.GetType());
            TextWriter writer = new StreamWriter(Filename, true);
            sr.Serialize(writer, list);
            writer.Close();
        }
    }

}

}

推荐答案

下面是我的全部code和工作的:

Here is my full code and this works:

namespace WinForms_CSharp
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public  List<APISAVE> list = null;
        private void Form2_Load(object sender, EventArgs e)
        {
            list = new List<APISAVE>();
            if (File.Exists(Application.StartupPath + "\\data.xml"))
            {
                var doc = XDocument.Load("data.XML");

                foreach (XElement element in doc.Descendants("APISAVE"))
                {
                    list.Add(new APISAVE() { ID = element.Element("ID").Value, APIKEY = element.Element("APIKEY").Value, VCODE = element.Element("VCODE").Value });
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                APISAVE info = new APISAVE();
                info.APIKEY = txtAPI.Text;
                info.VCODE = txtVerC.Text;
                info.ID = info.ID;
                list.Add(info);
                APISAVE.SaveData(list, "data.XML");

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }       
    } // end of Form2 class

    public class APISAVE
    {
        private string id;
        private string APIkey;
        private string VCode;

        public string ID
        {
            get { return id; }
            set { id = Guid.NewGuid().ToString(); }
        }

        public string APIKEY
        {
            get { return APIkey; }
            set { APIkey = value; }
        }

        public string VCODE
        {
            get { return VCode; }
            set { VCode = value; }

        }

        public static void SaveData(List<APISAVE> list, string Filename)
        {
            File.Delete(Filename);
            XmlSerializer sr = new XmlSerializer(list.GetType());
            TextWriter writer = new StreamWriter(Filename, true);
            sr.Serialize(writer, list);
            writer.Close();
        }
    }
}

这篇关于保存TextBox1中加入XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆