xml的基本操作
2010-11-06 20:42
711 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
namespace XmlProject
{
class Program
{
private static string url=@"c:/xml/student.xml";//xml路径
static void Main(string[] args)
{
CreateXml();//创建xml文件并添加数据
//AddElement();//打开xml并添加数据
//GetElementById("06360402");//根据id获取单个数据
//GetElementsBySex("male");//根据sex获取多个数据
//EditElementById("06360403");// 根据id修改数据
//EditElementBySex("male");// 根据sex更改数据
//DelElementById("06360401");//根据id删除数据
//DelElementBySex("male");//根据sex删除多个数据
}
/// <summary>
/// 根据sex删除多个数据
/// </summary>
/// <param name="sex"></param>
private static void DelElementBySex(string sex)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
XmlNodeList items = students.SelectNodes("/students/student[sex='" + sex + "']");//获取多个节点
foreach (XmlNode item in items)//删除多个节点
{
item.ParentNode.RemoveChild(item);
}
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据id删除数据
/// </summary>
/// <param name="id"></param>
private static void DelElementById(string id)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
XmlNode item = students.SelectSingleNode("/students/student[@id='" + id + "']");//获取单个节点
item.ParentNode.RemoveChild(item);//删除节点
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据sex更改数据
/// </summary>
/// <param name="sex"></param>
private static void EditElementBySex(string sex)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
XmlNodeList items = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
items = students.SelectNodes("/students/student[sex='" + sex + "']");//获取多个节点
foreach (XmlNode item in items)//更改节点数据
{
((XmlElement)item).GetElementsByTagName("name").Item(0).InnerText = "wangwu";
((XmlElement)item).SetAttribute("id", "001");
}
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据id修改数据
/// </summary>
/// <param name="id"></param>
private static void EditElementById(string id)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
XmlElement item = (XmlElement)students.SelectSingleNode("/students/student[@id='"+id+"']");//获取单个节点
item.GetElementsByTagName("sex").Item(0).InnerText = "male";//更改数据
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据sex获取多个数据
/// </summary>
/// <returns></returns>
private static XmlNodeList GetElementsBySex(string sex)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
XmlNodeList items = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
items = students.SelectNodes("/students/student[sex='"+sex+"']");//根据sex获取多个节点
foreach (XmlNode item in items)//遍历节点
{
Console.WriteLine(item.OuterXml);
}
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
return items;
}
/// <summary>
/// 根据id获取单个数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
private static XmlNode GetElementById(string id)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
XmlNode item=null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
item=students.SelectSingleNode("/students/student[@id='"+id+"']");//根据id获取单个节点
Console.WriteLine(item.OuterXml);
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
return item;
}
/// <summary>
/// 打开xml并添加数据
/// </summary>
private static void AddElement()
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
//创建一个节点
XmlElement student = xmlDoc.CreateElement("student");
student.SetAttribute("id", "06360403");
XmlElement name = xmlDoc.CreateElement("name");
name.InnerText = "wangwu";
student.AppendChild(name);
XmlElement sex = xmlDoc.CreateElement("sex");
sex.InnerText = "female";
student.AppendChild(sex);
students.AppendChild(student);
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 创建xml文件并添加数据
/// </summary>
private static void CreateXml()
{
//创建文件
FileStream fs = new FileStream(url, FileMode.Create);
XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8);
//添加根节点
w.WriteStartDocument();
w.WriteStartElement("students");
//添加第一个节点
w.WriteStartElement("student");
w.WriteAttributeString("id", "06360401");
w.WriteElementString("name", "zhangsan");
w.WriteElementString("sex", "male");
w.WriteEndElement();
//添加第二个节点
w.WriteStartElement("student");
w.WriteAttributeString("id", "06360402");
w.WriteElementString("name", "lisi");
w.WriteElementString("sex", "male");
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
fs.Close();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
namespace XmlProject
{
class Program
{
private static string url=@"c:/xml/student.xml";//xml路径
static void Main(string[] args)
{
CreateXml();//创建xml文件并添加数据
//AddElement();//打开xml并添加数据
//GetElementById("06360402");//根据id获取单个数据
//GetElementsBySex("male");//根据sex获取多个数据
//EditElementById("06360403");// 根据id修改数据
//EditElementBySex("male");// 根据sex更改数据
//DelElementById("06360401");//根据id删除数据
//DelElementBySex("male");//根据sex删除多个数据
}
/// <summary>
/// 根据sex删除多个数据
/// </summary>
/// <param name="sex"></param>
private static void DelElementBySex(string sex)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
XmlNodeList items = students.SelectNodes("/students/student[sex='" + sex + "']");//获取多个节点
foreach (XmlNode item in items)//删除多个节点
{
item.ParentNode.RemoveChild(item);
}
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据id删除数据
/// </summary>
/// <param name="id"></param>
private static void DelElementById(string id)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
XmlNode item = students.SelectSingleNode("/students/student[@id='" + id + "']");//获取单个节点
item.ParentNode.RemoveChild(item);//删除节点
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据sex更改数据
/// </summary>
/// <param name="sex"></param>
private static void EditElementBySex(string sex)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
XmlNodeList items = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
items = students.SelectNodes("/students/student[sex='" + sex + "']");//获取多个节点
foreach (XmlNode item in items)//更改节点数据
{
((XmlElement)item).GetElementsByTagName("name").Item(0).InnerText = "wangwu";
((XmlElement)item).SetAttribute("id", "001");
}
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据id修改数据
/// </summary>
/// <param name="id"></param>
private static void EditElementById(string id)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
XmlElement item = (XmlElement)students.SelectSingleNode("/students/student[@id='"+id+"']");//获取单个节点
item.GetElementsByTagName("sex").Item(0).InnerText = "male";//更改数据
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 根据sex获取多个数据
/// </summary>
/// <returns></returns>
private static XmlNodeList GetElementsBySex(string sex)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
XmlNodeList items = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
items = students.SelectNodes("/students/student[sex='"+sex+"']");//根据sex获取多个节点
foreach (XmlNode item in items)//遍历节点
{
Console.WriteLine(item.OuterXml);
}
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
return items;
}
/// <summary>
/// 根据id获取单个数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
private static XmlNode GetElementById(string id)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
XmlNode item=null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
item=students.SelectSingleNode("/students/student[@id='"+id+"']");//根据id获取单个节点
Console.WriteLine(item.OuterXml);
Console.ReadLine();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
return item;
}
/// <summary>
/// 打开xml并添加数据
/// </summary>
private static void AddElement()
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement students = null;
try
{
xmlDoc.Load(url);//加载xml文件
students = xmlDoc.DocumentElement;//获取根节点
//创建一个节点
XmlElement student = xmlDoc.CreateElement("student");
student.SetAttribute("id", "06360403");
XmlElement name = xmlDoc.CreateElement("name");
name.InnerText = "wangwu";
student.AppendChild(name);
XmlElement sex = xmlDoc.CreateElement("sex");
sex.InnerText = "female";
student.AppendChild(sex);
students.AppendChild(student);
xmlDoc.Save(url);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
/// <summary>
/// 创建xml文件并添加数据
/// </summary>
private static void CreateXml()
{
//创建文件
FileStream fs = new FileStream(url, FileMode.Create);
XmlTextWriter w = new XmlTextWriter(fs, Encoding.UTF8);
//添加根节点
w.WriteStartDocument();
w.WriteStartElement("students");
//添加第一个节点
w.WriteStartElement("student");
w.WriteAttributeString("id", "06360401");
w.WriteElementString("name", "zhangsan");
w.WriteElementString("sex", "male");
w.WriteEndElement();
//添加第二个节点
w.WriteStartElement("student");
w.WriteAttributeString("id", "06360402");
w.WriteElementString("name", "lisi");
w.WriteElementString("sex", "male");
w.WriteEndElement();
w.WriteEndElement();
w.WriteEndDocument();
w.Flush();
fs.Close();
}
}
}
相关文章推荐
- SQL Server 中对XML数据的五种基本操作
- Unity各类数据库的基本操作(四)-- XML
- openCV保存XML文件基本操作
- c# XML基本操作
- C#操作Xml的基本方法
- LINQ学习之旅——最后一站"LTX"之XML基本操作(下)
- xml的文檔基本操作
- 转 c#对xml的支持基本操作
- xml基本操作
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- LinqtoXml的基本操作
- Dom4j解析XML基本操作【收集整理】
- SQLServer XML数据的五种基本操作
- LINQ TO XML 基本操作
- Python 中对XML 的基本的读写操作
- 在.NET 对XML的一些基本操作
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C#对XML的基本操作
- C#操作Xml的基本方法
- 关于XML文档的基本操作