增查改删代码如下

 public void CreateXML()
{
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateXmlDeclaration("1.0", "utf-8", ""));//文档说明
XmlElement root = xml.CreateElement("root");//XML根节点
XmlElement xe = xml.CreateElement("node");//创建数据节点
xe.InnerText = "elementVal";//节点值
xe.SetAttribute("attrName", "attrVal");//节点属性
root.AppendChild(xe);//添加到根节点
xml.AppendChild(root);//添加到XML
xml.Save(Server.MapPath("~/test.xml"));//保存文档
Process.Start(Server.MapPath("~/test.xml"));//使用默认程序打开XML文档
}
         public void ReadXML()
{
XmlDocument xml = new XmlDocument();
xml.Load(Server.MapPath("~/test.xml"));//加载XML
XmlElement root = xml.DocumentElement;//获取根节点
XmlNodeList xns = root.ChildNodes;//获取根节点的全部子节点
foreach (XmlNode xn in xns)//遍历节点
{
string[] str = { xn.InnerText, xn.Name };//节点值 节点名
foreach (XmlAttribute attr in xn.Attributes)//遍历节点属性 XmlAttribute继承自XmlNode 取值方法一样
{
}
}
}
  public void EditXML()
{
//新增节点或节点属性同CreateXML相关操作
XmlDocument xml = new XmlDocument();
xml.Load(Server.MapPath("~/test.xml"));//加载XML
XmlElement root = xml.DocumentElement;//获取根节点
XmlNodeList xns = root.ChildNodes;//获取根节点的全部子节点
foreach (XmlNode xn in xns)//这里XmlNode也可以直接写成XmlElement
{
xn.InnerText = "newVal";//修改节点值
XmlAttribute attr = xn.Attributes["attrName"];//根据节点属性名名获取节点属性
attr.InnerText = "newAttrVal";//修改节点属性值
}
xml.Save(Server.MapPath("~/test.xml"));//保存文档
Process.Start(Server.MapPath("~/test.xml"));//使用默认程序打开XML文档
}
         public void DelXML()
{
XmlDocument xml = new XmlDocument();
xml.Load(Server.MapPath("~/test.xml"));//加载XML
XmlElement root = xml.DocumentElement;//获取根节点
XmlNodeList xns = root.ChildNodes;//获取根节点的全部子节点
foreach (XmlNode xn in xns)
{
root.RemoveAll();//删除全部节点
root.RemoveChild(xn);//删除单个节点
XmlElement xe = (XmlElement)xn;
xe.RemoveAllAttributes();//删除全部节点属性
xe.RemoveAttribute("attrName");//删除单个节点属性
}
xml.Save(Server.MapPath("~/test.xml"));//保存文档
Process.Start(Server.MapPath("~/test.xml"));//使用默认程序打开XML文档
}

C#操作XML文档---基础的更多相关文章

  1. 操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP)

    原文:操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP) 不管是用 PHP 还是 C#, 在操作 XML 的时候我们除了一个节点一个节点去取值之外, 还有一个非常方便的表达式, 就是 ...

  2. 操作xml文档的常用方式

    1.操作XML文档的两种常用方式: 1)使用XmlReader类和XmlWriter类操作 XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点 ...

  3. 用ORM的思想操作XML文档,一个对象就搞定不要太简单。滚蛋吧!XmlDocument、XmlNode、Xml***……

    大家有没有这样的感受,一涉及XML文档操作就得百度一遍.是不是非!常!烦!.各种类型,各种方法,更别提为了找到一个节点多费劲.本来想写个XML操作的工具方法,写了两行一想既然XML文档是有规律的,如果 ...

  4. C#XmlHelper帮助类操作Xml文档的通用方法汇总

    前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内 ...

  5. C#XmlHelper操作Xml文档的帮助类

    using System.Xml; using System.Data; namespace DotNet.Utilities { /// <summary> /// Xml的操作公共类 ...

  6. [XML] C# XmlHelper操作Xml文档的帮助类 (转载)

    点击下载 XmlHelper.rar 主要功能如下所示 /// <summary> /// 类说明:XmlHelper /// 编 码 人:苏飞 /// 联系方式:361983679 // ...

  7. 文档对象模型操作xml文档

    简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...

  8. C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)

    XML文档是一种通用的文档,这种文档既可以用.config作为后缀也可以用.xml作为后缀.XML文档主要由元素节点和节点的属性共同构成的.它有且仅有一个根节点,其他的节点全部都是根节点的子节点或者子 ...

  9. dom4j操作xml文档

    java Dom4j解析XML文件 标签(空格分隔):java进阶 xml文档: <?xml version="1.0" encoding="UTF-8" ...

随机推荐

  1. gcc【数学几何】

    GCC Time Limit: 1000MS Memory limit: 65536K 题目描述 The GNU Compiler Collection (usually shortened to G ...

  2. ASP.NET 5探险(5):利用AzureAD实现单点登录

    题记:在ASP.NET 5中虽然继续可以沿用ASP.NET Identity来做验证授权,不过也可以很容易集成支持标准协议的第三方服务,比如Azure Active Directory. 其实,在AS ...

  3. xcrun: error: active developer path ("/XX") does not exist

    MAC OS 10.9下执行命令 svn --version 报出如下错误: xcrun: error: active developer path ("/Users/username/Do ...

  4. Intent传递对象的两种方法(Serializable,Parcelable) (转)

    今天讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcela ...

  5. linux下epoll如何实现高效处理百万句柄的

    linux下epoll如何实现高效处理百万句柄的 分类: linux 技术分享 2012-01-06 10:29 4447人阅读 评论(5) 收藏 举报 linuxsocketcachestructl ...

  6. Sypder上手

    准备用python来做数据分析,选择了Sypder 刚打开时有点蒙逼,工作目录直接就在C盘了,想切换一下,发现右边工具栏里有工程路径,发现原来默认是在c盘用户路径下创建了一个临时工程 于是直接菜单栏/ ...

  7. LayoutInflater(四)

    如果说要按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件.组合控件.以及继承控件.那么下面我们就来依次学习一下,每种方式分别是如何自定义View的. 一.自绘控件 自绘控件的意思就 ...

  8. 关于如何在MFC工程中输入不同的数据进行调试

    我们可以采用c++的文件输入输出来进行调试 这样就绕过了不能使用黑窗口输入数据就不能调试的思维定式 不是黑窗口的我们都可以考虑用文件流输入输出 或者用控件来输入? http://blog.csdn.n ...

  9. Chrome浏览器之 Postman 安装

    Postman 是一款发送 HTTP 请求的 Chrome 插件.开发后端程序的同学可以用它来测试自己写的应用程序是否能够正常访问. 现在由于国内的网络限制, Chrome 浏览器里无法访问“扩展程序 ...

  10. POJ 2464 Brownie Points II(树状数组)

    一开始还以为对于每根竖线,只要与过了任意一点的横线相交都可以呢,这样枚举两条线就要O(n^2),结果发现自己想多了... 其实是每个点画根竖线和横线就好,对于相同竖线统计(一直不包含线上点)右上左下总 ...