sql初始化XML操作
/// <summary>
/// 添加记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件
XmlNode root = xmlDoc.SelectSingleNode("bookstore");// 查找<bookstore>
XmlElement xe1 = xmlDoc.CreateElement("book"); // 创建一个<book>节点
xe1.SetAttribute("genre", genre.Text); // 设置该节点genre属性
xe1.SetAttribute("ISBN", ISBN.Text); // 设置该节点ISBN属性
XmlElement xesub1 = xmlDoc.CreateElement("title"); // 创建一个<title>节点
xesub1.InnerText = title.Text; // 设置文本节点
xe1.AppendChild(xesub1); // 添加到<book>节点中
XmlElement xesub2 = xmlDoc.CreateElement("author"); // 创建一个<author>节点
xesub2.InnerText = author.Text; // 设置文本节点
xe1.AppendChild(xesub2); // 添加到<author>节点中
XmlElement xesub3 = xmlDoc.CreateElement("price"); // 创建一个<price>节点
xesub3.InnerText = price.Text; // 设置文本节点
xe1.AppendChild(xesub3); // 添加到<price>节点中
root.AppendChild(xe1); // 添加到<bookstore>节点中
xmlDoc.Save("bookstore.xml"); // 保存
}
catch (XmlException Xe)
{
MessageBox.Show(Xe.Message);
}
}
/// <summary>
/// 修改记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件
XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes; //获取bookstore节点的所有子节点
foreach (XmlNode xn in nodeList) //遍历所有子节点
{
XmlElement xe = (XmlElement)xn; //将子节点类型转换为XmlElement类型
if (xe.GetAttribute("genre") == "tajear") //如果genre属性值为“李赞红”
{
xe.SetAttribute("genre", "update李赞红"); //则修改该属性为“update李赞红”
XmlNodeList nls = xe.ChildNodes; //继续获取xe子节点的所有子节点
foreach (XmlNode xn1 in nls) //遍历
{
XmlElement xe2 = (XmlElement)xn1; //转换类型
if (xe2.Name == "author") //如果找到
{
xe2.InnerText = "亚胜"; //则修改
break; //找到退出来就可以了
}
}
break;
}
}
xmlDoc.Save("bookstore.xml");//保存。
}
/// <summary>
/// 删除记录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件
XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
if (xe.GetAttribute("genre") == "jujear")
{
xe.RemoveAttribute("genre");//删除genre属性
}
else if (xe.GetAttribute("genre") == "update李赞红")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("bookstore.xml");
}
private void button4_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("bookstore.xml"); // 载入xml文件
XmlNode xn = xmlDoc.SelectSingleNode("bookstore");
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);// 显示子节点点文本
}
}
}
sql初始化XML操作的更多相关文章
- 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...
- (转)SQL对Xml字段的操作
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...
- SQL对Xml字段的操作
转:http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html T-Sql操作Xml数据 一.前言 SQL Server 2005 ...
- (轉載)sql server xml字段的操作
原文轉自:http://blog.csdn.net/hliq5399/article/details/8315373 另外可參考:https://msdn.microsoft.com/en-us/li ...
- 精尽 MyBatis 源码分析 - MyBatis 初始化(三)之 SQL 初始化(上)
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- 精尽MyBatis源码分析 - MyBatis初始化(四)之 SQL 初始化(下)
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...
- Sql Server xml 类型字段的增删改查
1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...
- SQL Server XML数据解析
--5.读取XML --下面为多种方法从XML中读取EMAIL DECLARE @x XML SELECT @x = ' <People> <dongsheng> <In ...
随机推荐
- Dojo Data Store——统一数据访问接口
原文地址:http://www.infoq.com/cn/articles/wq-dojo-data-store 无论在传统的桌面应用还是在主流的互联网应用中,数据始终占据着软件应用中的核心地位.当下 ...
- 《理解 ES6》阅读整理:函数(Functions)(七)Block-Level Functions
块级函数(Block-Level Functions) 在ES3及以前,在块内声明一个函数会报语法错误,但是所有的浏览器都支持块级函数.不幸的是,每个浏览器在支持块级函数方面都有一些细微的不同的行为. ...
- 升级java8---from centos
安装步骤: wget http://10.107.2.44/jdk-8u111-linux-x64.tar.gz root@ute-image:~# tar zxf jdk-8u111-linux-x ...
- 视频聊天室可以用php制作吗?
首先,告诉你单纯用php制作视频聊天室是实现不了的,需要配合其他技术手段一起操作,例如和FLASH配合,使用FLASH获取语音(FLASH可以获取访问端的设备,例如摄像头). PHP运行在服务器端,是 ...
- .net 第二周学习
这周更进一步的介绍了.net,通过作业的练习,有那么一点点的成就感,相对于前端,成就感还不是很大,但是我还是会继续加油 学习.net,看着他们周末只能呆在寝室写网页,顿时我就高兴了: ...
- ng2-timesheet, 一个timesheet.js的angular2复制版
一个 timesheet.js (JavaScript library for HTML5 & CSS3 time sheets) 的 Angular 2 复制版 用法: npm instal ...
- 分享一个异步任务在遇到IO异常时支持递归回调的辅助方法
public void TryAsyncActionRecursively<TAsyncResult>( string asyncActionName, Func<Task<T ...
- 使用ACE_Task管理线程
为什么要使用ACE_Task来管理线程 从C#转到C++后,感觉到C++比C#最难的地方,就是在系统编程时,C#中有对应的类库,我接触到一个类后,就可以通过这个类,知道很多相关的功能.而在C++中,必 ...
- Azure China (4) 管理Azure China Storage Account
<Windows Azure Platform 系列文章目录> Update 2015-05-10 强烈建议使用AzCopy工具,AzCopy命令行工具,是经过优化的.高性能Azure S ...
- Atom
http://blog.csdn.net/crper/article/details/45647459