XML文件的简单增改删,每一个都可以单独拿出来使用。

新创建XML文件,<?xmlversion="1.0"encoding="utf-8"?>

<bookstore>

<bookgenre="fantasy"ISBN="2-3631-4">

<title>Oberon's Legacy</title>

<author>Corets, Eva</author>

<price>5.95</price>

</book>

</bookstore>

实现如下:

//插入节点

protected
void btn_Add_Click(object sender,
EventArgs e)

{

XmlDocument doc =
new XmlDocument();

doc.Load(@"E:\ruxiaomeng\Simple\C++\CLR\stlclr\StlClr Sample\XMLTest\bookstore.xml");

XmlNode root = doc.SelectSingleNode("bookstore");//找到根节点

XmlElement new_ele = doc.CreateElement("book");//文档创建节点<book>

new_ele.SetAttribute("genre",
"历史");

new_ele.SetAttribute("ISBN",
"100-001-*6963");//设置属性

XmlElement new_ele_childone = doc.CreateElement("title");

new_ele_childone.InnerText =
"史记"; //填充新节点内的文本。

new_ele.AppendChild(new_ele_childone);//给父节点添加子节点。

XmlElement new_ele_childtwo = doc.CreateElement("author");

new_ele_childtwo.InnerText =
"司马迁";

new_ele.AppendChild(new_ele_childtwo);

XmlElement new_ele_childthree = doc.CreateElement("price");

new_ele_childthree.InnerText =
"90.36";

new_ele.AppendChild(new_ele_childthree);

root.AppendChild(new_ele);//根节点添加新创建的子节点!

doc.Save(@"E:\ruxiaomeng\Simple\C++\CLR\stlclr\StlClr Sample\XMLTest\bookstore.xml");//记得一定要保存!

}

//更新属性和节点值

protected
void btn_Edit_Click(object sender,
EventArgs e)

{

XmlDocument doc =
new XmlDocument();

doc.Load(@"E:\ruxiaomeng\Simple\C++\CLR\stlclr\StlClr Sample\XMLTest\bookstore.xml");

XmlNodeList nodes = doc.SelectSingleNode("bookstore").ChildNodes;
//找到根节点下的所有子节点。

foreach (XmlElement item
in nodes)

{

if (item.GetAttribute("genre") ==
"历史")//找属性

{

item.SetAttribute("genre",
"中国古代史");

}

XmlNodeList childsnodes = item.ChildNodes;

foreach (XmlElement childitem
in childsnodes)

{

if (childitem.Name ==
"price") //找节点

{

childitem.InnerText =
"199";

break;

}

}

}

doc.Save(@"E:\ruxiaomeng\Simple\C++\CLR\stlclr\StlClr Sample\XMLTest\bookstore.xml");

}

//删除节点的genre属性,删除price是99的节点

protected
void btn_Del_Click(object sender,
EventArgs e)

{

XmlDocument doc =
new XmlDocument();

doc.Load(@"E:\ruxiaomeng\Simple\C++\CLR\stlclr\StlClr Sample\XMLTest\bookstore.xml");

XmlNode root = doc.SelectSingleNode("bookstore");

foreach (XmlElement item
in root.ChildNodes)

{

if (item.HasAttribute("genre"))

{

item.RemoveAttribute("genre");

}

foreach (XmlElement child_item
in item)

{

if (child_item.Name ==
"price" && child_item.InnerText ==
"99")

{

root.RemoveChild(item);

}

}

}

doc.Save(@"E:\ruxiaomeng\Simple\C++\CLR\stlclr\StlClr Sample\XMLTest\bookstore.xml");

}

XML简单的增改删操作的更多相关文章

  1. js 属性增改删操作

    js 属性增改删操作,可参看菜鸟教程,这里记录一个小问题:disabled属性 使用setAttribute操作无法 禁用disabled属性,需使用removeAttribute操作,原因是只要有d ...

  2. linq to xml 简单的增、删、改、查、保存xml文件操作

    using System; using System.Collections; using System.Configuration; using System.Data; using System. ...

  3. 菜鸟学习Hibernate——简单的增、删、改、查操作

    上篇博客利用Hibernate搭建起一个简单的例子,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述如何利用Hinbernate框架实现简单的数据库操作. 1.加入junit.jar 2.新建 ...

  4. jdbc连接sql server2017进行简单的增、删、改、查操作

    这几天刚做完数据库的课程设计,来稍微总结一下如何通过jdbc访问sql server数据库进行简单的增删改查操作.在连接之前,需要简单地配置一下,包括下载对应jdk版本的驱动,设置环境变量等等.相关配 ...

  5. C#+Access 员工信息管理--简单的增删改查操作和.ini配置文件的读写操作。

    1.本程序的使用的语言是C#,数据库是Access2003.主要是对员工信息进行简单的增删改查操作和对.ini配置文件的读写操作. 2.代码运行效果如下: 功能比较简单.其中在得到查询结果后,在查询结 ...

  6. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

  7. DataFrame查增改删

    DataFrame查增改删 查 Read 类list/ndarray数据访问方式 dates = pd.date_range(',periods=10) dates df = pd.DataFrame ...

  8. C#程序:如何创建xml文件以及xml文件的增、删、改、查

    其实今天的这篇博文 ,是对请几天发表的博文的一个总结,只是想把xml文件的增删改查结合起来,这样更容易让初学的朋友理解,废话也不多说了,开始吧! 下面是我把我在vs环境下写的代码ctrl+V然后ctr ...

  9. 【OF框架】新建库表及对应实体,并实现简单的增删改查操作,封装操作标准WebApi

    准备 搭建好项目框架及数据库,了解框架规范. 1.数据库表和实体一一对应,表名实体名名字相同,用小写,下划线连接.字段名用驼峰命名法,首字母大写. 2.实体放在Entities目录下,继承Entity ...

随机推荐

  1. 十三章:使用WEB字体

    1.WEB字体可以使用一系列文件类型,下面介绍三种字体类型: (1)内嵌OpenType (2)TrueType和OpenType台式机使用的标准字体文件类型 (3)WEB开放字体格式. 2.构造子集 ...

  2. Tomcat目录下文件详解

    一.Tomcat背景   (转) 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供We ...

  3. 编写程序,从vector<char>初始化string

    #include<iostream> #include<string> #include<vector> using namespace std; int main ...

  4. LD_LIBRARY_PATH vs LIBRARY_PATH

    LIBRARY_PATH is used by gcc before compilation to search for directories containing libraries that n ...

  5. sysbench使用教程【转载】

    水晶命匣 2016-08-16 20:02 一.环境描述 此次使用的虚拟机环境如下所示: CPU:双核 2.4GHz 内存:4 GB 硬盘:120 GB IP:192.168.21.129 操作系统: ...

  6. drupal7为admin/config页面添加自己开发的模块

    1.实现显示模块 //admin/config配置页面添加journal块 $items['admin/config/journal'] = array(//注意格式为'admin/config/模块 ...

  7. Bill Total Value

    Bill Total Value time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  8. Android Studio中配置及使用OpenCV示例

    Android Studio配置及使用OpenCV 前言:最近在做项目移植,项目较大,在Eclipse中配置的Jni及OpenCV环境没任何问题,但是迁移到Studio中就问题一大堆,网上也找了一些资 ...

  9. dhcpv6开源软件配置

    ISC-dhcp server for IPv6 1.  下载源码:http://www.isc.org/software/dhcp 2.安装:最好以root身份安装,否则会permission de ...

  10. VHD进阶:差分VHD备份系统

    VHD进阶:差分VHD备份系统 一.创建虚拟磁盘 方法1:图形界面创建 1.打开磁盘管理器(运行diskmgmt.msc),在“磁盘管理”上点击右键,“创建VHD”,类型选择VHD,动态扩展或者固定大 ...