zoukankan      html  css  js  c++  java
  • 操作XMLC#(转)

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Text;
      4 using System.Xml;
      5 using System.Data;
      6 
      7 namespace operate_xml
      8 {
      9     class operate_xml1
     10     {
     11         public XmlDocument myXmlDocument;
     12 
     13         /// <summary>
     14         /// 带参构造函数
     15         /// </summary>
     16         /// <param name="xml_name">Xml的路径</param>
     17         public operate_xml1(string xml_name)
     18         {
     19             myXmlDocument = new XmlDocument();
     20             myXmlDocument.Load(xml_name);
     21         }
     22         /// <summary>
     23         /// 更新节点
     24         /// </summary>
     25         /// <param name="xml_name"></param>
     26         /// <param name="name"></param>
     27         /// <param name="value"></param>
     28         /// <param name="weapon"></param>
     29         /// <returns></returns>
     30         public bool updata_xml(string xml_name,string name,string value,string weapon)
     31         {
     32             bool isSuccess = false;
     33             XmlNode node;           
     34            
     35             node = myXmlDocument.DocumentElement; //获取XML文档的根
     36             try
     37             {
     38                 foreach (XmlNode node1 in node.ChildNodes)
     39                     foreach (XmlNode node2 in node1.ChildNodes)
     40                     {
     41                         if (node2.InnerText == name)
     42                         {
     43                             node2.NextSibling.InnerText = value;        //获取下一个节点
     44                             node2.NextSibling.NextSibling.InnerText = weapon;   //获取下一个节点
     45                             isSuccess = true;                       
     46                         }
     47                     }
     48                 myXmlDocument.Save(xml_name);
     49                
     50             }
     51             catch (Exception ex)
     52             {               
     53             }
     54             return isSuccess;
     55         }
     56         /// <summary>
     57         /// 添加节点
     58         /// </summary>
     59         /// <param name="xml_name"></param>
     60         /// <param name="name"></param>
     61         /// <param name="power"></param>
     62         /// <param name="weapon"></param>
     63         /// <returns></returns>
     64         public bool CreatNode(string xml_name,string name,string power,string weapon)
     65         {
     66             bool isSuccess = false;
     67             XmlNode node;
     68             node = myXmlDocument.DocumentElement;
     69             try
     70             {
     71                 XmlElement subElement = myXmlDocument.createElement_x("body");
     72                
     73 
     74                 XmlElement subElement1 = myXmlDocument.createElement_x("name");
     75                 subElement1.InnerText = name;
     76                 XmlElement subElement2 = myXmlDocument.createElement_x("power");
     77                 subElement2.InnerText = power;
     78                 XmlElement subElement3 = myXmlDocument.createElement_x("weapon");
     79                 subElement3.InnerText = weapon;
     80 
     81                 subElement.AppendChild(subElement1);
     82                 subElement.AppendChild(subElement2);
     83                 subElement.AppendChild(subElement3);
     84 
     85                 node.AppendChild(subElement);
     86                 myXmlDocument.Save(xml_name);
     87 
     88                 isSuccess = true;
     89             }
     90             catch (Exception ex)
     91             { }
     92             return isSuccess;
     93         }
     94         /// <summary>
     95         /// 删除节点,第一种方法
     96         /// </summary>
     97         /// <param name="xml_name"></param>
     98         /// <param name="name"></param>
     99         /// <returns></returns>
    100         public bool DeleteNode(string xml_name, string name)
    101         {
    102             bool isSuccess = false;
    103             XmlNode node;
    104             node = myXmlDocument.DocumentElement;
    105             try
    106             {
    107                 foreach (XmlNode node1 in node.ChildNodes)
    108                     foreach (XmlNode node2 in node1.ChildNodes)
    109                         if (node2.InnerText == name)
    110                             node2.ParentNode.RemoveAll();
    111                 myXmlDocument.Save(xml_name);   //记得要保存
    112                 isSuccess = true;
    113             }
    114             catch (Exception ex)
    115             { }
    116             return isSuccess;
    117         }
    118         /// <summary>
    119         /// 删除节点,第二种方法
    120         /// </summary>
    121         /// <param name="xml_name"></param>
    122         /// <param name="name"></param>
    123         /// <returns></returns>
    124         public bool DeleteNode1(string xml_name, string name)
    125         {
    126             bool isSuccess = false;
    127             XmlNode node1;
    128             XmlNodeList nodelist = myXmlDocument.SelectNodes("histroy/body/name");   //选择所有匹配name的节点
    129             foreach (XmlNode node in nodelist)
    130             {              
    131                     if (node.InnerText == name)
    132                     {
    133                         node1 = node.ParentNode;
    134                         node1.ParentNode.RemoveChild(node1);
    135                         isSuccess = true;
    136                     }               
    137             }
    138             myXmlDocument.Save(xml_name);
    139             return isSuccess;
    140         }
    141         /// <summary>
    142         /// 查询人物
    143         /// </summary>
    144         /// <param name="name"></param>
    145         /// <returns></returns>
    146         public XmlNode getxmlnode(string name)
    147         {
    148             XmlNode xmlNode=null;           
    149             XmlNodeList nodelist = myXmlDocument.SelectNodes("//histroy//body//name");   //选择所有匹配name的节点
    150             foreach (XmlNode node in nodelist)
    151             {
    152                 if (node.InnerText == name)
    153                 {
    154                     xmlNode = node.ParentNode;                   
    155                 }
    156             }
    157             return xmlNode;
    158         }
    159         /// <summary>
    160         /// 使用dataset显示整个XML文件
    161         /// </summary>
    162         /// <returns></returns>
    163         public DataSet GetDs()
    164         {
    165             DataSet ds = new DataSet();
    166             try
    167             {
    168                 System.IO.StringReader read = new System.IO.StringReader(myXmlDocument.SelectSingleNode("//histroy").OuterXml);
    169                 ds.ReadXml(read);
    170                 read.Close();
    171             }
    172             catch
    173             { }
    174             return ds;
    175         }
    176 
    177    }
    178 
    179 }

    原文:http://blog.sina.com.cn/s/blog_66e765d90100j0az.html

  • 相关阅读:
    在Mac系统下使用自己安装的PHP
    在一个文件里追加内容和换行
    Linux系统下如何去掉文件的@属性
    composer的安装和使用
    Git SSH Key 生成步骤
    自定义mysql函数时报错,[Err] 1418
    百度echarts
    linux 内存释放命令
    第二届PHP全球开发者大会(含大会的PPT)
    在CentOS上安装Java开发环境:使用yum安装jdk
  • 原文地址:https://www.cnblogs.com/net515/p/2834877.html
Copyright © 2011-2022 走看看