asp.net中读取和更新xml文件(转帖)


    1 示例xml文件 model.xml 
   <?xml version="1.0" encoding="utf-8" ?> 
   <DrRoot> 
   <SiteName>xml操作示例</SiteName> 
   <SiteUrl>www.abc.com.cn</SiteUrl> 
   <SiteDescript>.net开源论坛</SiteDescript> 
   <SiteKeyWord>xml操作示例</SiteKeyWord> 
   <FileType>gif|jpg|rar</FileType> 
   <FileSize>1024</FileSize> 
   <Filters>script|iframe</Filters> 
   <FilterEvent>onload|onmouseover</FilterEvent> 
   <BadWords>admin|webmaster|drbbs</BadWords> 
   <DisallowIP>0.0.0.0</DisallowIP> 
   <IsCloseReg>False</IsCloseReg> 
   <IsCloseBBS>False</IsCloseBBS> 
   <PostPay>5</PostPay> 
   <ReplyPay>2</ReplyPay> 
   <GoodPay>10</GoodPay> 
   <DelPost>5</DelPost> 
   <DelReply>2</DelReply> 
   <CancleGood>10</CancleGood> 
   </DrRoot> 
    
   2 主要方法 
    
   public string ReadValue(string key) 
    { 
    XmlDocument xd=new XmlDocument(); 
    xd.Load(Server.MapPath("model.xml")); 
    XmlNodeList xnl = xd.GetElementsByTagName(key); 
    if(xnl.Count==0) 
    return ""; 
    else 
    { 
    XmlNode mNode=xnl[0]; 
    return mNode.InnerText; 
    } 
    } 
    
    public void UpdateValue(string nKey,string nValue) 
    { 
    if(ReadValue(nKey)!="") 
    { 
    XmlDocument xmlDoc=new XmlDocument(); 
    xmlDoc.Load(Server.MapPath("model.xml")); 
    XmlNodeList elemList = xmlDoc.GetElementsByTagName(nKey); 
    XmlNode mNode=elemList[0]; 
    mNode.InnerText=nValue; 
    XmlTextWriter xw = new XmlTextWriter(new StreamWriter(Server.MapPath("model.xml"))); 
    xw.Formatting = Formatting.Indented; 
    xmlDoc.WriteTo(xw); 
    xw.Close(); 
    } 
    } 
    
posted @ 2009-11-20 09:46  time is money  阅读(225)  评论(0编辑  收藏  举报