取寫XML

using System.Xml;
using System.Configuration;

/// <summary>
/// ClassXml 的摘要說明
/// </summary>
public class ClassXml : System.Web.UI.Page
{
    private string C_FilePath;

    public string FilePath
    {
        get
        {
            return C_FilePath;
        }
        set
        {
            C_FilePath = value;
        }
    }

 public ClassXml(string FilePath)
 {
  //
  // TODO: 在此處添加構造函數邏輯
  //
        C_FilePath = FilePath;
 }

    //取值
    public string GetKey(string NodeName)
    {
        string XmlFile = Server.MapPath(C_FilePath);
        XmlDocument xd = new XmlDocument();
        xd.Load(XmlFile);
        XmlNodeList xnl = xd.DocumentElement.ChildNodes;

        string rv = "";
        foreach (XmlElement xe in xnl)
        {
            if (xe.Name.ToLower() == "appsettings")
            {
                XmlNodeList node = xe.ChildNodes;
                if (node.Count > 0)
                {
                    foreach (XmlElement element in node)
                    {
                        if (element.Attributes["key"].Value == NodeName)
                        {
                            rv = element.Attributes["value"].Value.ToString();
                            break;
                        }
                    }
                }
                break;
            }
        }
        return rv;
    }

    //寫值
    public void SetKey(string NodeName, string NodeValue)
    {
        string XmlFile = Server.MapPath(C_FilePath);
        XmlDocument xd = new XmlDocument();
        xd.Load(XmlFile);
        XmlNodeList xnl = xd.DocumentElement.ChildNodes;

        foreach (XmlElement xe in xnl)
        {
            if (xe.Name.ToLower() == "appsettings")
            {
                XmlNodeList node = xe.ChildNodes;
                if (node.Count > 0)
                {
                    foreach (XmlElement element in node)
                    {
                        if (element.Attributes["key"].Value == NodeName)
                        {
                            element.Attributes["value"].InnerText = NodeValue;
                            break;
                        }
                    }
                }
                break;
            }
        }
        xd.Save(XmlFile);
    }

}

        ClassXml cx = new ClassXml("Config/Global.config");
        cx.SetKey("Email", "[email protected]");
        Response.Write(cx.GetKey("Email"));

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <appSettings>
    <add key="NameEN" value="FLASH GAME" />
    <add key="NameCN" value="FLASH 遊戲" />
    <add key="Email" value="[email protected]" />
    <add key="Date" value="2007-1-1" />
    <add key="PageSize" value="18" />
    <add key="Style" value="1" />
  </appSettings>
</configuration>

發佈了32 篇原創文章 · 獲贊 5 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章