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" ...
随机推荐
- hdu 1556:Color the ball(第二类树状数组 —— 区间更新,点求和)
Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- AJax中post与get请求注意事项
在使用ajax提交表单时,一定要区分提交按钮的形式和数据表头的设置,实例如下: GET请求: HTML代码: <!doctype html> <html lang="en& ...
- sqlplus使用(二)
详见SQL*Plus® User's Guide and Reference Release 11.2 5 Using Scripts in SQL*Plus 1.定义环境变量 _EDITOR ...
- slf4i + logback 配置
一.所需jar包: slf4j-api-1.6.1.jar logback-classic-0.9.24.jar logback-core-0.9.24.jar 二.logback.xml配置示例: ...
- golang channel buffer
package mainimport ( "fmt" "time")func main() { // Case-1: no buffer //chanMessa ...
- winows下使用ssh服务远程登录vbox中的虚拟机
1.到http://www.putty.org/下载并安装SSH客户端 2.查看是否安装ssh服务 在ubuntu终端命令界面键入: #ssh localhost 如果出现下面提示则表示还没有安装: ...
- 基于ZigBee的家居控制系统的设计与应用
基于ZigBee的家居控制系统的设计与应用 PPT简介:http://pan.baidu.com/s/1i38PC6D 摘 要 智能家居是未来家居的发展方向,其利用先进的网络技术.计算机技术和无线通 ...
- 六款值得推荐的android(安卓)开源框架简介(转)
1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduli ...
- codeforces724-A. Checking the Calendar 日期题
首先有这样一个显然的事实,那就是每个月的第一天可以是星期x,x可以取遍1~7 因为日期一直在往后退,总有一年能轮到分割线那天,因为本来其实压根就没有月份的划分,月份划分是人为的 而且我们也不知道开始的 ...
- codeforces733-C. Epidemic in Monstropolis 贪心加链表
题意 现在有一个怪兽序列a[i],权值大的怪兽可以吃权值小的怪兽,吃完之后权值大的怪兽的权值会变成两者权值的和,相邻的怪兽才能吃 吃完之后,位置合并,队列前移,从左到右重新编号,重复这一过程, 然后给 ...