已知有一个XML文件(bookshop.xml)如下:

<?xml version="1.0" encoding="gb2312" ?>
<bookshop>
<book genre="fantasy" ISBN="2-2312-2">
<title>Oberon Legacy</title>
<author>Eva</author>
<price>56.5</price>
</book>
</bookshop>

下面看看是怎样读写xml文件的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml; namespace ConsoleApplication1
{
class Program
{
XmlDocument xmlDoc;
///<summary>
/// 插入节点
///</summary>
publicvoid InsertNode()
{
xmlDoc =new XmlDocument();
xmlDoc.Load("bookshop.xml"); //加载xml文件 /*从指定的字符创加载xml文件 例如:
xmlDoc.LoadXml("(<Book bookID='B001'><BookName>jeff</BookName><price>45.6</price></Book>)");
*/
XmlNode root = xmlDoc.SelectSingleNode("bookshop");//查找﹤bookstore﹥
XmlElement xe1 = xmlDoc.CreateElement("book");//创建一个﹤book﹥节点
xe1.SetAttribute("genre", "Sky_Kwolf");//设置该节点genre属性
xe1.SetAttribute("ISBN", "2-3631-4");//设置该节点ISBN属性 XmlElement xesub1 = xmlDoc.CreateElement("title");
xesub1.InnerText ="CSS禅意花园";//设置节点的文本值
xe1.AppendChild(xesub1);//添加到﹤book﹥节点中
XmlElement xesub2 = xmlDoc.CreateElement("author");
xesub2.InnerText ="Jeff";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("price");
xesub3.InnerText ="58.3";
xe1.AppendChild(xesub3); root.AppendChild(xe1);//添加到﹤bookshop﹥节点中
xmlDoc.Save("bookshop.xml"); //保存其更改
}
///<summary>
/// 修改节点
///</summary>
publicvoid UpdateNode()
{
xmlDoc =new XmlDocument();
xmlDoc.Load("bookshop.xml"); //加载xml文件
//获取bookshop节点的所有子节点
XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookshop").ChildNodes; //遍历所有子节点
foreach (XmlNode xn in nodeList) {
XmlElement xe = (XmlElement)xn; //将子节点类型转换为XmlElement类型 if (xe.GetAttribute("genre") =="Sky_Kwolf")//如果genre属性值为“Sky_Kwolf”
{
xe.SetAttribute("genre", "update Sky_Kwolf"); //则修改该属性为“update Sky_Kwolf”
XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点 foreach (XmlNode xn1 in nls)//遍历
{
XmlElement xe2 = (XmlElement)xn1; //转换类型
if (xe2.Name =="author")//如果找到
{
xe2.InnerText ="jason";//则修改
break;//找到退出
}
}
break;
}
} xmlDoc.Save("bookshop.xml");//保存。
}
//显示xml数据
publicvoid ShowXml()
{
xmlDoc =new XmlDocument();
xmlDoc.Load("bookshop.xml"); //加载xml文件
XmlNode xn = xmlDoc.SelectSingleNode("bookshop"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xnf in xnl)
{
XmlElement xe = (XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//显示属性值
Console.WriteLine(xe.GetAttribute("ISBN")); XmlNodeList xnf1 = xe.ChildNodes;
foreach (XmlNode xn2 in xnf1)
{
Console.WriteLine(xn2.InnerText);//显示子节点点文本
}
}
}
///<summary>
/// 删除节点
///</summary>
publicvoid DeleteNode()
{
xmlDoc =new XmlDocument();
xmlDoc.Load("bookshop.xml"); //加载xml文件
XmlNodeList xnl = xmlDoc.SelectSingleNode("bookshop").ChildNodes; foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn; if (xe.GetAttribute("genre") =="fantasy")
{
xe.RemoveAttribute("genre");//删除genre属性
}
elseif (xe.GetAttribute("genre") =="update Sky_Kwolf")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("bookshop.xml");
}
staticvoid Main(string[] args)
{ Program p =new Program();
p.ShowXml();
Console.ReadLine();
}
}
}

代码

XmlDocument XmlDoc = null;
XmlDoc = new XmlDocument(); XmlDeclaration dec = XmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
XmlDoc.AppendChild(dec);
XmlElement root = XmlDoc.CreateElement("message");
XmlDoc.AppendChild(root); XmlElement eName;
XmlNode M_Root = XmlDoc.SelectSingleNode("message");
XmlNode M_Root1; XmlElement head = XmlDoc.CreateElement("header");
head.SetAttribute("checksum", "2e11193e4d27dc9b0600de7b2586b1e4");
root.AppendChild(head); eName = XmlDoc.CreateElement("bizid");//创建节点
eName.InnerXml = "";
head.AppendChild(eName); eName = XmlDoc.CreateElement("body");//创建节点
eName.InnerXml = "";
head.AppendChild(eName); XmlElement cont = XmlDoc.CreateElement("content");
root.AppendChild(cont);
M_Root1 = XmlDoc.SelectSingleNode("message").LastChild; XmlElement table = XmlDoc.CreateElement("Table");
table.SetAttribute("count", "");
cont.AppendChild(table); XmlElement row = XmlDoc.CreateElement("row");
row.SetAttribute("id", "");
table.AppendChild(row); eName = XmlDoc.CreateElement("column");//创建节点
eName.SetAttribute("type", "String");
eName.SetAttribute("id", "BT");
eName.SetAttribute("desc", "题名");
eName.InnerXml = "<![CDATA[" + ds.Tables[].Rows[i]["BT"].ToString() + "]]>";
row.AppendChild(eName); string file = FilePath + ds.Tables[].Rows[i]["ID"].ToString() + "REST.XML";
XmlDoc.Save(file); //保存XML return XmlDoc.InnerXml;//显示XML

C#读写xml文件的常用方法的更多相关文章

  1. PHP读写XML文件的四种方法

    PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...

  2. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  3. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  4. cocos2d-x 读写 xml 文件

    cocos2d-x 读写 xml 文件 A product of cheungmine使用cocos2d-x开发2d游戏确实方便,但是对于一般的小游戏,经常需要的工作是UI布局设计和调整,代码改来改去 ...

  5. java通过dom读写xml文件

    java通过dom读写xml文件 要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册 ...

  6. C# 读写XML文件的方法

    C# 读写XML文件的方法 一.写XML文件 XmlDocument xmlDocument = new XmlDocument();xmlDocument.AppendChild(xmlDocume ...

  7. VC 使用msxml6.dll动态链接库中的函数读写XML文件

    VC 使用msxml6.dll动态链接库中的函数读写XML文件 目录 1 引言 2 .dll使用方法 3 常用函数总结 4 实例应用 5 运行效果预览 6 补充说明 7 不足之处 8 更新   引言: ...

  8. 【VS开发】【计算机视觉】OpenCV读写xml文件《C++版本》

    OpenCV FileStorage类读写XML/YML文件 在OpenCV程序中,需要保存中间结果的时候常常会使用.xml / .yml文件,opencv2.0之前都是使用C风格的代码,当时读写XM ...

  9. Spring读写xml文件

    一.如果只是读取 新建一个 xml 文件,需要满足Spring格式: <?xml version="1.0" encoding="UTF-8"?> ...

随机推荐

  1. ubuntu下安装php memcache扩展

    memcached 安装sudo apt-get install memcached memcached 参数说明memcached -d -m 50 -p 11211 -u root-m 指定使用多 ...

  2. 设置ajax 同步执行

    Ajax请求默认的都是异步的如果想同步 async设置为false就可以(默认是true) var html = $.ajax({  url: "some.php",  async ...

  3. 2012年第三届蓝桥杯C/C++程序设计本科B组决赛

    1.星期几(取余/excel) 2.数据压缩 3.拼音字母(比较) 4.DNA比对(dp) 5.方块填数 1.星期几[结果填空] (满分5分)    1949年的国庆节(10月1日)是星期六.     ...

  4. SeedDms 文档管理系统安装

    在xampp下安装SeedDms 1.下载seeddms-quickstart-4.3.24.tar.gz,解压出来三个目录 \data\ \pear\ \seeddms-4.3.24\ 我把seed ...

  5. my first article

    BLOG:  http://codetask.org GIT:  http://git.oschina.net/codetimer

  6. maven部署tomcat项目,403错误解决

    maven部署tomcat项目时403错误的解决方法 web模块的pom文件 pom.xml <plugin> <groupId>org.apache.tomcat.maven ...

  7. java测试题总结

    1.Struts2处理来自多个页面的同一个Action请求,那么它们是不是同一个action. struts2中每个请求都是独立的.每一次请求都会去new一个新的action,所有写在action中的 ...

  8. delphi 怎么获取工程版本号

    function GetApplicationVersion:String; // Added 取得程序版本号 var FileName:String; InfoSize,Wnd:DWORD; Ver ...

  9. JSP调用JAVA方法小例子

    用JAVA编写的函数 package doc; //定义一个包 public class Dy { //定义一个类 public static int Sub(int x,int y){ //定义函数 ...

  10. Android源代码结构分析

    Google提供的Android包含了:Android源代码,工具链,基础C库,仿真环境,开发环境等,完整的一套.第一级别的目录和文件如下所示:----------------├── Makefile ...