因为做一个网站,要操作xml文件,所以找了下,转下别人的代码
xml文件的权限必须设为 IUser+Asp.net 或者 Everone
/// <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);// 显示子节点点文本
}
}
}
分享到:
相关推荐
最近做项目,要用C#写,而且数据格式是那种节点套节点能把人套死的XML,看着都觉得晕,而且节点跳跃性很大,真心觉得单纯用环境自带的XMLDocument类完全达不到自己的需要,因为XML里面涉及到节点循环,循环里面又套...
首先,让我们来看看第一个示例——"C# XML操作代码大全.doc"。这个文档可能包含了C#处理XML的基本操作,如创建XML文档、读取XML内容、以及更新XML节点等。创建XML文档通常使用`System.Xml`命名空间中的`XmlDocument`...
本篇文章将深入探讨如何在C#中进行XML操作,主要基于提供的"XML操作类"的压缩包文件。 首先,XML操作类通常包含了读取、写入、解析和修改XML文档的一系列方法。在C#中,我们可以利用System.Xml命名空间下的类来实现...
c# xml 操作 基类
c# xml 操作类c# xml 操作类c# xml 操作类c# xml 操作类
本篇文章将深入探讨如何使用C#进行XML操作,包括增加节点、更改属性等核心功能。 首先,让我们了解C#中的几个关键类,它们是处理XML的基础: 1. **XmlDocument**: 这个类提供了读取、写入和修改XML文档的功能。你...
### C# XML操作类知识点详解 #### 一、引言 在C#中处理XML文档是一种常见的需求,尤其是在需要解析配置文件或与Web服务交互时。本文将详细介绍一个C#中的XML操作类,并通过该类的方法来理解如何使用C#进行基本的...
C# xml操作 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));
本篇文章将深入探讨如何利用C#的`XmlDocument`对象来操作XML文档,以实现数据的读取、修改和写入。 首先,让我们了解`XmlDocument`的基本用法。在C#中,你可以通过以下方式创建一个`XmlDocument`实例: ```csharp ...
在C#中操作XML文档是一个常见的任务,涉及到创建、读取、更新和删除XML文档中的数据。本文将详细解读C#操作XML的代码实例,包括使用XmlDocument类和DataSet类进行XML数据的处理。以下知识点将根据提供的部分内容进行...
最近做项目,要用C#写,而且数据格式是那种节点套节点能把人套死的XML,看着都觉得晕,而且节点跳跃性很大,真心觉得单纯用环境自带的XMLDocument类完全达不到自己的需要,因为XML里面涉及到节点循环,循环里面又套...
C# XML操作类,可用于存储软件参数,当数据量不大时,可以摆脱数据库
本教程将深入探讨如何使用C#来操作XML,以实现数据的读取、写入和修改。 首先,让我们了解C#中处理XML的基本类库:System.Xml命名空间。这个命名空间包含了用于处理XML文档的各种类,如XmlDocument、XmlNode、...
首先,我们关注的是XMLOperator.cs这个文件,它是一个专门处理XML操作的类。此类通常会包含一系列的方法,用于执行XML文件的基本操作。以下是一些关键方法的示例: 1. **添加节点**: 添加节点的方法通常会接收一...
本示例将重点探讨如何在C#中进行XML操作。 首先,C#中的System.Xml命名空间提供了丰富的类库来处理XML文档,如XmlNode、XmlElement、XmlDocument等。使用XmlDocument类,我们可以加载XML文件,然后进行解析、查询、...
在进行XML操作时,还需要关注XML命名空间(xmlns)的处理,以及错误处理和异常处理,确保在遇到无效的XML结构或者无法访问文件时,程序能正常运行并给出相应的反馈。 总结起来,"C#操作XML完整Demo"项目旨在教授...
c#下操作xml文件类,方便调用操作。 xml操作日趋常见,xml格式相对规范,通过xml存储信息更加方法,采用该类可以方便操作。
下面我们将深入探讨一些关键的C# XML操作知识点: 1. **读取XML文件**:可以使用`XmlDocument`类加载XML文件。例如: ```csharp XmlDocument doc = new XmlDocument(); doc.Load("path_to_xml_file.xml"); ``` ...