using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;


namespace WindowsVIKI
{
    class ConfigHelper
    {
        public static string get_viki_sys_config_by_var(string var_str) {

            try
            {
                string xmlPath;
                xmlPath = System.Windows.Forms.Application.StartupPath;
                Directory.CreateDirectory(xmlPath);
                xmlPath = xmlPath + "/conf/" + "viki_sys_config.xml";
                XDocument xDoc = XDocument.Load(xmlPath);
                return xDoc.Element("viki_config").Element(var_str).Value.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }

            return "";

        }

        /// <summary>
        /// 当期欠费机器人
        /// </summary>
        /// <param name="var_str"></param>
        /// <returns></returns>
        public static string get_viki_var_config_by_var(string var_str)
        {

            try
            {
                string xmlPath;
                xmlPath = System.Windows.Forms.Application.StartupPath;
                Directory.CreateDirectory(xmlPath);
                xmlPath = xmlPath + "/conf/" + "viki_var_config.xml";
                XDocument xDoc = XDocument.Load(xmlPath);
                return xDoc.Element("viki_config").Element(var_str).Value.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }

            return "";

        }

        /// <summary>
        /// 业扩报装机器人 
        /// </summary>
        /// <param name="var_str"></param>
        /// <returns></returns>
        public static string get_viki_var_business_expansion_config(string var_str)
        {

            try
            {
                string xmlPath;
                xmlPath = System.Windows.Forms.Application.StartupPath;
                Directory.CreateDirectory(xmlPath);
                xmlPath = xmlPath + "/conf/" + "viki_var_business_expansion_config.xml";
                XDocument xDoc = XDocument.Load(xmlPath);
                return xDoc.Element("viki_config").Element(var_str).Value.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }

            return "";

        }

        /// <summary>
        /// 累计欠费话术机器人
        /// </summary>
        /// <param name="var_str"></param>
        /// <returns></returns>
        public static string get_viki_var_accumulated_arrears_config(string var_str)
        {

            try
            {
                string xmlPath;
                xmlPath = System.Windows.Forms.Application.StartupPath;
                Directory.CreateDirectory(xmlPath);
                xmlPath = xmlPath + "/conf/" + "viki_var_accumulated_arrears_config.xml";
                XDocument xDoc = XDocument.Load(xmlPath);
                return xDoc.Element("viki_config").Element(var_str).Value.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }

            return "";

        }
    }
}


配置文件

<?xml version="1.0" encoding="utf-8"?>
<viki_config>
  <txt2_business_expansion_order_no>21</txt2_business_expansion_order_no>
  <txt2_city>22</txt2_city>
  <txt2_username>23</txt2_username>
  <txt2_electricity_address>24</txt2_electricity_address>
  <txt2_agent>25</txt2_agent>
  <txt2_phone>26f</txt2_phone>
  <txt2_increase_decrease_capacity>27</txt2_increase_decrease_capacity>
  <txt2_total_capacity>28</txt2_total_capacity>
  <txt2_work_order_creation_time>29</txt2_work_order_creation_time>
  <txt2_power_on_time>21011</txt2_power_on_time>
  <txt2_filing_completion_time>211</txt2_filing_completion_time>
  <txt2_business_type>212</txt2_business_type>
  <txt2_return_visit_number>213</txt2_return_visit_number>
</viki_config>


读取

        private void loadConfig()
        {
            try
            {
                string xmlPath;
                xmlPath = System.Windows.Forms.Application.StartupPath;
                Directory.CreateDirectory(xmlPath);
                xmlPath = xmlPath + "/conf/" + "viki_var_config.xml";
                XDocument xDoc = XDocument.Load(xmlPath);

                txt_phone.Text = xDoc.Element("viki_config").Element("phone").Value.ToString();
                txt_electricity_charges_receivable.Text = xDoc.Element("viki_config").Element("electricity_charges_receivable").Value.ToString();
                txt_resident_life.Text = xDoc.Element("viki_config").Element("resident_life").Value.ToString();
                txt_electricity_receivable.Text = xDoc.Element("viki_config").Element("electricity_receivable").Value.ToString();
                txt_month_and_year_of_electricity_charge.Text = xDoc.Element("viki_config").Element("month_and_year_of_electricity_charge").Value.ToString();
                txt_internet_banking.Text = xDoc.Element("viki_config").Element("internet_banking").Value.ToString();
                txt_bank_account.Text = xDoc.Element("viki_config").Element("bank_account").Value.ToString();
                txt_power_supply_unit.Text = xDoc.Element("viki_config").Element("power_supply_unit").Value.ToString();
                txt_liquidated_damages_due.Text = xDoc.Element("viki_config").Element("liquidated_damages_due").Value.ToString();
                txt_user_number.Text = xDoc.Element("viki_config").Element("user_number").Value.ToString();
                txt_account_manager_phone_number.Text = xDoc.Element("viki_config").Element("account_manager_phone_number").Value.ToString();
                txt_basic_number_of_meter_reading.Text = xDoc.Element("viki_config").Element("basic_number_of_meter_reading").Value.ToString();
                txt_electricity_address.Text = xDoc.Element("viki_config").Element("electricity_address").Value.ToString();
                txt_username.Text = xDoc.Element("viki_config").Element("username").Value.ToString();
                txt_meter_number.Text = xDoc.Element("viki_config").Element("meter_number").Value.ToString();
                txt_expeditor.Text = xDoc.Element("viki_config").Element("expeditor").Value.ToString();
                txt_payment_method.Text = xDoc.Element("viki_config").Element("payment_method").Value.ToString();
                txt_lock_type.Text = xDoc.Element("viki_config").Element("lock_type").Value.ToString();
                txt_deduction_result.Text = xDoc.Element("viki_config").Element("deduction_result").Value.ToString();

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


更新

        private void updateConfig()
        {
            try
            {
                string xmlPath;
                xmlPath = System.Windows.Forms.Application.StartupPath;
                Directory.CreateDirectory(xmlPath);
                xmlPath = xmlPath + "/conf/" + "viki_var_config.xml";
                XDocument xDoc = XDocument.Load(xmlPath);

                xDoc.Element("viki_config").Element("phone").SetValue(txt_phone.Text.Trim());
                xDoc.Element("viki_config").Element("electricity_charges_receivable").SetValue(txt_electricity_charges_receivable.Text.Trim());
                xDoc.Element("viki_config").Element("resident_life").SetValue(txt_resident_life.Text.Trim());
                xDoc.Element("viki_config").Element("electricity_receivable").SetValue(txt_electricity_receivable.Text.Trim());
                xDoc.Element("viki_config").Element("month_and_year_of_electricity_charge").SetValue(txt_month_and_year_of_electricity_charge.Text.Trim());
                xDoc.Element("viki_config").Element("internet_banking").SetValue(txt_internet_banking.Text.Trim());
                xDoc.Element("viki_config").Element("bank_account").SetValue(txt_bank_account.Text.Trim());
                xDoc.Element("viki_config").Element("power_supply_unit").SetValue(txt_power_supply_unit.Text.Trim());
                xDoc.Element("viki_config").Element("liquidated_damages_due").SetValue(txt_liquidated_damages_due.Text.Trim());
                xDoc.Element("viki_config").Element("user_number").SetValue(txt_user_number.Text.Trim());
                xDoc.Element("viki_config").Element("account_manager_phone_number").SetValue(txt_account_manager_phone_number.Text.Trim());
                xDoc.Element("viki_config").Element("basic_number_of_meter_reading").SetValue(txt_basic_number_of_meter_reading.Text.Trim());
                xDoc.Element("viki_config").Element("electricity_address").SetValue(txt_electricity_address.Text.Trim());
                xDoc.Element("viki_config").Element("username").SetValue(txt_username.Text.Trim());
                xDoc.Element("viki_config").Element("meter_number").SetValue(txt_meter_number.Text.Trim());
                xDoc.Element("viki_config").Element("expeditor").SetValue(txt_expeditor.Text.Trim());
                xDoc.Element("viki_config").Element("payment_method").SetValue(txt_payment_method.Text.Trim());
                xDoc.Element("viki_config").Element("lock_type").SetValue(txt_lock_type.Text.Trim());
                xDoc.Element("viki_config").Element("deduction_result").SetValue(txt_deduction_result.Text.Trim());

                xDoc.Save(xmlPath);

            }
            catch (Exception ex)
            {
                int_update_status = 1;
                MessageBox.Show(ex.Message.ToString());
            }
        }