• asp.net xml 增删改操作


      1 user.xml
      2 <?xml version="1.0" encoding="utf-8"?>
      3 <user>
      4   <person>
      5   </person>
      6   <person name="风拉" sex="" age="25">
      7     <pass>123</pass>
      8     <Address>大明</Address>
      9   </person>
     10   <person name="风云" sex="" age="25">
     11     <pass>123</pass>
     12   </person>
     13   <person name="" sex="" age="25">
     14     <pass>123</pass>
     15     <Address>松江区</Address>
     16   </person>
     17 </user>
     18 
     19 1, private XmlDocument xmlDoc;
     20 
     21 
     22     //添加
     23     private void InsertElement()
     24     {
     25 
     26         XmlNode xmldocselect = xmlDoc.SelectSingleNode("user");
     27         XmlElement el = xmlDoc.CreateElement("person");
     28         el.SetAttribute("name", "风云");
     29         el.SetAttribute("sex", "");
     30         el.SetAttribute("age", "25");
     31         XmlElement xesub1 = xmlDoc.CreateElement("pass");
     32         xesub1.InnerText = "123";
     33         el.AppendChild(xesub1);
     34         xmldocselect.AppendChild(el);
     35         XmlElement xx = xmlDoc.CreateElement("Address");
     36         xx.InnerText = "松江区";
     37         el.AppendChild(xx);
     38         xmlDoc.Save(Server.MapPath("user.xml"));
     39     }
     40     //修改
     41     private void UpdateElement()
     42     {
     43         LoadXml();
     44         XmlNodeList nodeList = xmlDoc.SelectSingleNode("user").ChildNodes;
     45         foreach (var item in nodeList)
     46         {
     47             XmlElement xe = (XmlElement)item;
     48             if (xe.GetAttribute("name") == "风云")
     49             {
     50                 xe.SetAttribute("name", "发明");
     51 
     52                 //如果下面有子节点在下走
     53                 XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
     54                 foreach (XmlNode xn1 in nls)//遍历
     55                 {
     56                     XmlElement xe2 = (XmlElement)xn1;//转换类型
     57                     if (xe2.Name == "pass")//如果找到
     58                     {
     59                         xe2.InnerText = "66666";//则修改
     60                         break;
     61 
     62                     }
     63                 }
     64 
     65                 break;
     66             }
     67         }
     68           xmlDoc.Save(Server.MapPath("user.xml"));//保存
     69 
     70 
     71 
     72     }
     73 
     74     //删除
     75     private void DeleteElement()
     76     {
     77         LoadXml();
     78         XmlNodeList nodeList = xmlDoc.SelectSingleNode("user").ChildNodes;
     79         foreach (var item in nodeList)
     80         {
     81             XmlElement xe = (XmlElement)item;
     82             if (xe.GetAttribute("name") == "发明")
     83             {
     84                 xe.RemoveAll();
     85 
     86                 ////如果下面有子节点在下走
     87                 //XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
     88                 //foreach (XmlNode xn1 in nls)//遍历
     89                 //{
     90                 //    XmlElement xe2 = (XmlElement)xn1;//转换类型
     91                 //    if (xe2.Name == "pass")//如果找到
     92                 //    {
     93                 //        xe2.InnerText = "66666";//则修改
     94                 //        break;
     95 
     96                 //    }
     97                 //}
     98 
     99                 break;
    100             }
    101         }
    102         xmlDoc.Save(Server.MapPath("user.xml"));//保存
    103 
    104     }
    105 
    106     //显示
    107     private void showIt()
    108     {
    109         LoadXml();
    110         XmlNode xn = xmlDoc.SelectSingleNode("user");
    111         XmlNodeList xnl = xn.ChildNodes;
    112         foreach (var item in xnl)
    113         {
    114             XmlElement xe=(XmlElement)item;
    115             Response.Write(xe.GetAttribute("name"));
    116         }
    117     }
    118     //查找xml
    119     private void LoadXml()
    120     {
    121         xmlDoc = new XmlDocument();
    122         xmlDoc.Load(Server.MapPath("User.xml"));
    123     }
    124 
    125 
    126 
    127 adminFunction.xml
    128 
    129 <?xml version="1.0" encoding="utf-8" ?>
    130 <functions>
    131   <function name="商品发布" url="~/page/leaves/leave.aspx">
    132     <subfunction name="添加商品" url="~/page/leaves/leave.aspx">
    133     </subfunction>
    134     <subfunction name="添加商品" url="~/page/leaves/leave.aspx">
    135     </subfunction>
    136   </function>
    137   <function name="留言发布" url="~/page/leaves/leave.aspx">
    138     <subfunction name="添加留言" url="~/page/leaves/leave.aspx">
    139     </subfunction>
    140     <subfunction name="修改留言" url="~/page/leaves/leave.aspx">
    141     </subfunction>
    142   </function>
    143 </functions>
    144 
    145 
    146 
    147     private void InitFunctions()
    148     {
    149         XmlDocument xmldoc = new XmlDocument();
    150         xmldoc.Load(Server.MapPath("adminFunction.xml"));
    151         XmlNode root = xmldoc.DocumentElement;
    152         tvFunction.Nodes.Add(CreateNode(root,new TreeNode()));
    153     }
    154 
    155     //递归
    156     /// <summary>
    157     /// 
    158     /// </summary>
    159     /// <param name="node">根节点</param>
    160     /// <param name="tn">根节点对应的树节点</param>
    161     /// <returns></returns>
    162     private TreeNode CreateNode(XmlNode root, TreeNode tn)
    163     {
    164 
    165         foreach (XmlNode node in root.ChildNodes)
    166         {
    167             XmlElement subxmlEmt = node as XmlElement;
    168             string subname = subxmlEmt.GetAttribute("name");
    169             string suburl = subxmlEmt.GetAttribute("url");
    170             TreeNode subtn = new TreeNode();
    171             subtn.Text = subname;
    172             subtn.NavigateUrl = suburl;
    173             if (node.HasChildNodes)
    174             {
    175                 subtn.ChildNodes.Add(CreateNode(node, subtn));
    176             }
    177             tn.ChildNodes.Add(subtn);
    178         }
    179         return tn;
    180 
    181     }
    182 
    183 
    184     //读实例
    185     private void ReadEx()
    186     {
    187         string path1 = Server.MapPath("TextFile.txt");
    188         if (File.Exists(path1))
    189         {
    190             StreamReader reader = new StreamReader(path1, System.Text.Encoding.GetEncoding("gb2312"));
    191 
    192                 string str = reader.ReadToEnd();
    193                 Response.Write((str));
    194                 reader.Close();
    195         }
    196 
    197         WriteFile(path1,"vvvvv");
    198     }
    199     //写文件
    200     /// </summary>
    201     /// <param name="Path">文件路径</param>
    202     /// <param name="Strings">文件内容</param>
    203     public static void WriteFile(string Path, string Strings)
    204     {
    205        
    206         if (!System.IO.File.Exists(Path))
    207         {
    208             System.IO.FileStream f = System.IO.File.Create(Path);
    209             f.Close();
    210         }
    211         System.IO.StreamWriter f2 = new System.IO.StreamWriter(Path, false, System.Text.Encoding.GetEncoding("gb2312"));
    212         f2.Write(Strings);
    213         f2.Close();
    214         f2.Dispose();
    215     }
  • 相关阅读:
    react ts axios 配置跨域
    npm run eject“Remove untracked files, stash or commit any changes, and try again.”错误
    java 进程的参数和list的线程安全
    帆软报表 大屏列表跑马灯效果JS
    帆软报表 快速复用数据集,避免重复劳动
    分析云 OA中部门分级思路和实现方法
    分析云 分段器 只显示一个块的数据
    分析云 更改服务默认的端口号
    分析云U8项目配置方法新版本(2)
    Oracle 创建时间维度表并更新是否工作日字段
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/3835643.html
Copyright © 2020-2023  润新知