zoukankan      html  css  js  c++  java
  • xml文档的增删改

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Xml;
     6 
     7 namespace Common
     8 {
     9     public class Xml
    10     {
    11         private XmlDocument xmlDoc;
    12 
    13         /// <summary>
    14         /// xml文件名,调用次大类必须先设定xml文件名
    15         /// </summary>
    16         public string XmlName;
    17 
    18         /// <summary>
    19         /// 读取xml文档
    20         /// </summary>
    21         /// <param name="XmlName">xml文档名</param>
    22         private void LoadXml()
    23         {
    24             xmlDoc = new XmlDocument();
    25             xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath(XmlName));
    26         }
    27 
    28         /// <summary>
    29         /// 增加xml文档的节点
    30         /// </summary>
    31         /// <param name="AddID">节点的name值</param>
    32         /// <param name="ImageUrl">图片位置及其名字 例如:images/pic_04.gif</param>
    33         /// <param name="Url">链接地址 例如:详细显示页.aspx?ID=36</param>
    34         private void AddElement(string AddID,string ImageUrl,string Url)
    35         {
    36             LoadXml();
    37             XmlNode xmldocSelect = xmlDoc.SelectSingleNode("slideshow");
    38             XmlElement el = xmlDoc.CreateElement("photo"); //添加photo节点
    39             el.SetAttribute("name", AddID); //添加photo节点的属性"name"
    40 
    41             XmlElement xesub1 = xmlDoc.CreateElement("image"); //添加image节点的里的节点
    42             xesub1.InnerText = ImageUrl;//设置文本节点
    43             el.AppendChild(xesub1);
    44 
    45             XmlElement xesub2 = xmlDoc.CreateElement("url");
    46             xesub2.InnerText = Url;//设置文本节点
    47             el.AppendChild(xesub2);
    48 
    49             xmldocSelect.AppendChild(el);
    50             xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath(XmlName));
    51         }
    52 
    53         /// <summary>
    54         /// 修改xml文档
    55         /// </summary>
    56         /// <param name="ID">最新的name值</param>
    57         /// <param name="UpdateID">所要修改节点的name值</param>
    58         /// <param name="ImageUrl">图片位置及其名字 例如:images/pic_04.gif</param>
    59         /// <param name="Url">链接地址 例如:详细显示页.aspx?ID=36</param>
    60         private void UpdateXml(string ID, string UpdateID, string ImageUrl, string Url)
    61         {
    62             LoadXml();
    63             XmlNodeList nodeList = xmlDoc.SelectSingleNode("slideshow").ChildNodes;//获取slideshow节点的所有子节点
    64             foreach (XmlNode xn in nodeList)//遍历所有子节点
    65             {
    66                 XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
    67                 if (xe.GetAttribute("name") == UpdateID)//如果name属性值为“UpdateID”
    68                 {
    69                     xe.SetAttribute("name", ID);
    70                     xe.ChildNodes[0].Value = ImageUrl;
    71                     xe.ChildNodes[1].Value = Url;
    72                     break;
    73                 }
    74             }
    75             xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath(XmlName));//保存xml文档
    76         }
    77 
    78         /// <summary>
    79         /// 删除xml文档的节点
    80         /// </summary>
    81         /// <param name="DeleteID">所要删除节点的name值</param>
    82         private void deleteNode(string DeleteID)
    83         {
    84             LoadXml();
    85             XmlNodeList xnl = xmlDoc.SelectSingleNode("slideshow").ChildNodes;
    86             foreach (XmlNode xn in xnl)
    87             {
    88                 XmlElement xe = (XmlElement)xn;
    89                 if (xe.GetAttribute("name") == DeleteID)
    90                 {
    91                     xe.RemoveAll();//删除该节点的全部内容
    92                     break;
    93                 }
    94             }
    95             xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath(XmlName));//保存xml文档
    96         }
    97     }
    98 }
  • 相关阅读:
    C#中StringBuilder类的使用总结
    java Socket长链接与消息推送源码与演示
    oracle merge into 小例
    webrtc 关闭摄像头
    WebRTC MediaRecorder API
    简单的菜单三
    简单的菜单二
    简单的菜单 一
    文件断点续传实现 ( 2-- C# 客户端)
    文件断点续传实现 (1 -- java实现)
  • 原文地址:https://www.cnblogs.com/Setme/p/2536436.html
Copyright © 2011-2022 走看看