簡體   English   中英

從xml文件寫入和讀取數據

[英]Write & Read data from xml file

public partial class Form2 : Form
{
    DataTable dt = new DataTable();
    DataRow dr;
    public Form2()
    {
        InitializeComponent();
        dt.Columns.Add("ServerName");
        dt.Columns.Add("UserId");
        dt.Columns.Add("Password");
        dt.Columns.Add("DatabaseName");

    }

    private void btn_save_Click(object sender, EventArgs e)
    {
        dt.TableName = "DER";
        dr = dt.NewRow();
        dr["ServerName"] = tb_serverName.Text.Trim();
        dr["UserId"] = tb_userId.Text.Trim();
        dr["Password"] = tb_pwd.Text.Trim();
        dr["DatabaseName"] = tb_dbName.Text.Trim();
        dt.Rows.Add(dr);
        dt.WriteXml("D:\\DatabaseInfo.xml");
        dt.Clear();
    }

    private void btn_back_Click(object sender, EventArgs e)
    {
        dt.ReadXml("D:\\DatabaseInfo.xml");
        foreach (DataRow dr in dt.Rows)
        {
            tb_serverName.Text = dr["ServerName"].ToString();
            tb_userId.Text = dr["UserId"].ToString();
            tb_pwd.Text = dr["Password"].ToString();
            tb_dbName.Text = dr["DatabaseName"].ToString();
        }
    }
}

單擊btn_save數據保存在XML文件中,但是當我單擊btn_back時,無法在表單字段中看到數據。 我必須在btn_back_click正確執行的btn_back_click

使用DataSet這樣就能解決你的問題:

private void btn_back_Click(object sender, EventArgs e)
{
   string path = "D:\\DatabaseInfo.xml";
   var xmlFile = XmlReader.Create(path);
   DataSet ds = new DataSet();
   ds.ReadXml(xmlFile);
   foreach (DataRow dr in ds.Tables[0].Rows)
   {
     tb_serverName.Text = dr["ServerName"].ToString();
     tb_userId.Text = dr["UserId"].ToString();
     tb_pwd.Text = dr["Password"].ToString();
     tb_dbName.Text = dr["DatabaseName"].ToString();
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM