程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 如何改變Resx文件中的值

如何改變Resx文件中的值

編輯:關於.NET

我們在開發程序時,有時會將一些值存放於resx文件中,但想要改變它的值怎麼辦呢?例子如我在全局 資源(App_GlobalResources)中建立了一個資源文件Resource.resx。並建了兩個String值,Anm_Response 和Rqi_Response。 我們可以錄入進去,但如何在程序中改呢?

其實Resx文件是一個XML文件。被存放在名為"data"的結點中。如下邊文檔:

  <data name="Anm_Response" xml:space="preserve">
    <value>333333</value>
  </data>
  <data name="Rqi_Response" xml:space="preserve">
    <value>44</value>
  </data>

即然是XML文檔,我們就可以用改變XML文檔的方式改變其值。代碼如下:

using System.IO;
using System.Collections;
using System.Globalization;
using System.Xml;
using System.Resources;

   /// <summary>
   /// 修改
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnModify_Click(object sender, EventArgs e)
    {
        string filename = "Resource.resx";
        //得到Xml文件路徑
        filename = Request.PhysicalApplicationPath + "App_GlobalResources\\" + filename;
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(filename);

        //得到數據項(得到所有為Data的結點)
        XmlNodeList nlist = xmlDoc.GetElementsByTagName("data");
        foreach (XmlNode xnVal in nlist)
        {
            if (xnVal.Attributes["xml:space"].Value == "preserve")
            {
                string sName = xnVal.Attributes["name"].Value;
                switch (sName)
                {
                    case "Anm_Response":
                        //修改值
                        xnVal.InnerText = txbAnmResponse.Text;
                        break;
                    case "Rqi_Response":
                        //修改值
                        xnVal.InnerText = txbRqiResponse.Text;
                        break;
                    default:
                        break;
                }
            }
        }
        //保存
        xmlDoc.Save(filename);
    }

讀取方法:

string sAnmResponse = HttpContext.GetGlobalResourceObject("Resource", "Anm_Response").ToString();

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved