• 改变Resx文件中的值


        我们在开发程序时,有时会将一些值存放于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();

     例子下载: 例子下载

  • 相关阅读:
    poj 2312 Battle City
    poj 2002 Squares
    poj 3641 Pseudoprime numbers
    poj 3580 SuperMemo
    poj 3281 Dining
    poj 3259 Wormholes
    poj 3080 Blue Jeans
    poj 3070 Fibonacci
    poj 2887 Big String
    poj 2631 Roads in the North
  • 原文地址:https://www.cnblogs.com/scottckt/p/1438048.html
Copyright © 2020-2023  润新知