C#操作XML文档---基础
增查改删代码如下
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文档---基础的更多相关文章
- 操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP)
原文:操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP) 不管是用 PHP 还是 C#, 在操作 XML 的时候我们除了一个节点一个节点去取值之外, 还有一个非常方便的表达式, 就是 ...
- 操作xml文档的常用方式
1.操作XML文档的两种常用方式: 1)使用XmlReader类和XmlWriter类操作 XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点 ...
- 用ORM的思想操作XML文档,一个对象就搞定不要太简单。滚蛋吧!XmlDocument、XmlNode、Xml***……
大家有没有这样的感受,一涉及XML文档操作就得百度一遍.是不是非!常!烦!.各种类型,各种方法,更别提为了找到一个节点多费劲.本来想写个XML操作的工具方法,写了两行一想既然XML文档是有规律的,如果 ...
- C#XmlHelper帮助类操作Xml文档的通用方法汇总
前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内 ...
- C#XmlHelper操作Xml文档的帮助类
using System.Xml; using System.Data; namespace DotNet.Utilities { /// <summary> /// Xml的操作公共类 ...
- [XML] C# XmlHelper操作Xml文档的帮助类 (转载)
点击下载 XmlHelper.rar 主要功能如下所示 /// <summary> /// 类说明:XmlHelper /// 编 码 人:苏飞 /// 联系方式:361983679 // ...
- 文档对象模型操作xml文档
简介 :文档对象模型(DOM)是一种用于处理xml文档的API函数集. 2.1文档对象模型概述 按照W3C的定义,DOM是“一种允许程序或脚本动态地访问更新文档内容,结构和样式的.独立于平台和语言的规 ...
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
XML文档是一种通用的文档,这种文档既可以用.config作为后缀也可以用.xml作为后缀.XML文档主要由元素节点和节点的属性共同构成的.它有且仅有一个根节点,其他的节点全部都是根节点的子节点或者子 ...
- dom4j操作xml文档
java Dom4j解析XML文件 标签(空格分隔):java进阶 xml文档: <?xml version="1.0" encoding="UTF-8" ...
随机推荐
- 攻城狮在路上(叁)Linux(二十五)--- linux内存交换空间(swap)的构建
swap的功能是应付物理内存不足的状况,用硬盘来暂时放置内存中的信息. 对于一般主机,物理内存都差不多够用,所以也就不会用到swap,但是对于服务器而言,当遇到大量网络请求时或许就会用到. 当swap ...
- Oracle 10g Block Change Tracking特性
Using Block Change Tracking to Improve Incremental Backup Performance 使用块改变跟踪改善增量备份的性能 The block cha ...
- Oracle备份及备份策略
第二章. 了解备份的重要性 可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片.主板电路.内 ...
- angularjs实战
1.指令 transclude 保留原来的内容 replace 去掉<my-directive>指令 <script src="http://apps.bdimg.com ...
- hdu 4068 福州赛区网络赛H 排列 ***
拍的太慢了,很不满意 排完序之后,枚举自己和对手状态,若被击败,则再枚举自己下一个策略,直到可以击败对手所有的策略 #include<cstdio> #include<iostrea ...
- 【hibernate】 hibernate的主键策略
今天使用maven生成一个sping+springMVC+hibernate 的项目,报错如下: 错误提示呢:不能解释这个id的生成策略[uuid.string].就是uuid.string这个hib ...
- 廖雪峰js教程笔记 1
遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Array.Map和Set都属于iterable类型. 具有iterabl ...
- [HTTP那些事]网络请求API
在Android上,原生API有两个,HttpUrlConnection和HttpClient,它们对封装Socket进行封装,让HTTP请求变得简单.这应该也算框架吧? 想象下,如果没有HttpUr ...
- SpringMyBatis解析3-MapperFactoryBean
在使用mybatis的时候,我们获取dao的方式一般是这样: SqlSession session=sessionFactory.openSession(); PersonDao personDao= ...
- DOM--3 DOM核心和DOM2 HTML(2)
核心Node对象 由于继承扩展的关系,DOM中大部分对象会有Node对象的属性和方法,其中包括: nodeName DOM2核心中规定的每种nodeType预期的nodeName值 对象 返回值 El ...